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

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

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

希望听听大家的观点。

3 回复

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

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

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

回到顶部