如何在串联的某种条件下实现一组异步任务



我必须在nodejs中写下以下代码:

val1 = async1()
if(val1 == 0){
 val1 = async2()
}
val2 = async3(val1)

在上面的代码中,val1val2是从异步函数返回的值async1()async2()async3()我该如何实现?

您可以使用async。

上述伪代码可以通过瀑布方法实现。

示例实现:

async.waterfall([
    function(callback){
        callback(null, async1());
    },
    function(val1, callback){
        if(val1==0){
            callback(null, async2());
        } else {
            callback(null, val1);
        }
    }, function(val1, callback){
        callback(null, async3(val1));
    }
    ], function(error, val2){
            <you get val2 here>
});

最新更新