Node.jscallback函数错误参数说明?

我对JavaScript有一个基本的了解,并且一直在学习node.js中的asynchronous函数是如何工作的。 callback函数带有参数错误,我一直很困惑。 例如,下面是一些代码:

contact.saveContacts = function(contactArray, done) { var jsonfile = require('jsonfile') jsonfile.writeFile('data.json', contactArray, done) } Contact.saveContacts(contacts, function(err) { console.log('success') } 

我的问题是, 为什么callback函数包含参数错误? 我很困惑,为什么它在那里,因为它似乎在它所调用的函数中没有任何用处。

这是一个称为错误的第一个callback模式,并在JavaScript中使用了很多。

看到这篇文章作为参考。

通常,同步函数可能会返回成功,可能带有值,或者在出现问题时抛出exception。 调用代码可以通过捕获和检查错误或者通过其他可能处理错误的代码来select抛出exception时应该怎么做。

调用代码已经执行后调用asynchronouscallback函数。 这意味着没有机会捕捉抛出的exception。 所以,而不是抛出,错误传递到callback函数,所以调用代码可以处理成功和错误状态。

在写操作出现问题的情况下,例如调用权限错误对象,以及防止意外错误的原因。 想象一下,我们正在给一个命令做计算机开始做这件事,但在路上关于权限的计算机无法写入该目录的方式在这种情况下计算机不知道该怎么做,我们的程序崩溃,以防止这个内部callback我们指定什么在这种情况下,例如,如果权限被拒绝,原因是写权限提示用户input密码并强制写入或打开一个框给用户,该用户必须以用户身份运行

如果一切正常,error参数没有用处。 但是,当出现错误时它太有用了。 任何types的错误,例如运行时错误,文件已被删除或任何事情,如果发生,错误的细节将出现在callback的错误参数。 所以,最好使用这个参数如下:

 Contact.saveContacts(contacts, function(err) { if(err){ console.log(err); } else{ console.log('success'); } } 

这样,如果发生这种情况,你将会知道任何错误。