我有一个关于回调、错误和异步函数的问题。 下面我们有一个异步 JS 回调的示例,用于处理错误(如果有)。否则它会对收到的对象执行某些操作。
doSomething(aThing, function(error, response) {
if (error) {
return handleError(error);
} else if (response) {
return doSomething;
}
});
我想,如果出现错误,其中一个参数是错误对象,另一个参数是 null
或 undefined
。
我的问题是:匿名回调function (function(error, response){...})
如何知道error参数实际上是一个错误?如果回调函数是 function(response, error){...}
会怎样?
最佳答案
这是 NodeJS 中使用的常见模式:Error First Callback
基本上,每个回调都应该使用至少一个参数来调用,该参数指示是否存在错误......
因此,如果第一个参数为 null
,您可以假设没有错误...
var fs = require('fs');
fs.readFile("somefile.txt", function(err, data) {
if(err) {
console.log('We have some error', err);
return;
}
//do something with your data
console.log('success', data);
});
关于JavaScript 异步回调错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38816899/