【发布时间】:2015-03-29 00:10:31
【问题描述】:
我用的是曹兰的辉煌Async.js。我正在执行一系列功能。在第一个函数中,我有一个条件应该跳过所有其余系列的函数,直接进入最终回调:
async.series([
function one (next) {
if(!condition) {
// skip all the other functions and go to final callback
}
// do stuff
return next();
},
function two (next) {
// do stuff
return next();
},
function three (next) {
// do stuff
return next();
}
], function (err) {
// final callback stuff
});
所以如果函数中的一个条件不满足,直接进入最终回调。
如果系列中的任何函数将错误传递给其回调,则不再运行任何函数,并立即使用错误的值调用回调。
但是在我看来,抛出错误并不是一个干净的方法。为了能够在最终回调中正确处理“真实”错误,我必须引入一个假错误......还有其他干净的方法吗?
【问题讨论】: