在业务逻辑的实现中,是否有必要让所有回调函数的第一个参数都是 err?
发布于 11 年前 作者 jysperm 4028 次浏览 最后一次编辑是 10 年前 来自 问答

按照 Node.js 通常的做法,回调函数的第一个参数是 err, 用来表示错误。 但在业务逻辑的一些代码中,有些函数可能不会出错,这时还有必要将回调函数的第一个参数规定为 err 么?

如果规定为 err 的话,因为这个 err 总是空的,如果每次调用都检查 err 的话很麻烦而冗长,不检查的话又失去了增加这个参数的意义。 如果不这样做的话,万一以后这个函数增加了一种可能出错的情况,就要改动所有调用它的地方。

希望听听大家的观点。

3 回复

一定要。 http://nodejs.org/api/fs.html#fs_fs_exists_path_callback 这个地方就是标准库里面的一个没有在第一个参数返回 err 的地方,被骂死了。

加吧。很多第三方包是按照这种方式默认你的回调函数格式的,比如async。

标准化的好处是可以少动脑子。

回到顶部