CNode

在业务逻辑的实现中,是否有必要让所有回调函数的第一个参数都是 err?

问答
Jjysperm发布于12 年前最后回复12 年前3 回复4142 浏览0 收藏

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

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

希望听听大家的观点。

查看回复

回复 (3)

A
alsotang#1·12 年前

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

E
eeandrew#2·12 年前

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

L
leapon#3·12 年前

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

参与回复
登录后即可参与回复。登录