作为节点程序员。我习惯于使用“nodebacks”来处理我的代码中的错误:
myFn(param, function(err, data) {
if (err){
//error handling logic
}
else {
// business logic
}
});
在编写该函数时,我可以执行以下操作:
var myFn = function(param, callback){
var calc = doSomeCalculation(param);
if(calc === null) { // or some other way to detect error
callback(new Error("error with calculation"), null);
}
...
someAsyncOp(calcN,function(err, finalResult){
if(err) return callback(err, null);
callback(null, finalResult); // the error is null to signal no error
});
};
我将如何使用Promise进行这种错误处理?