使nodejs阻塞调用其他函数,直到完成一个函数

时间:2017-05-03 02:51:23

标签: node.js

如何执行整个函数completly,它具有mysql查询,然后转移到nodejs中的另一个函数。由于nodejs本质上是异步和非阻塞的。它首先在一个函数中执行非sql部分然后继续另一个执行非sql部分的函数,最后在两个函数中执行mysql查询。

1 个答案:

答案 0 :(得分:0)

根据您的要求,最好使用async瀑布方法。

https://www.npmjs.com/package/async

async.waterfall([
    function(callback) {
        //Do first task send result if needed to call back on success
        callback(null, 'one', 'two');
    },
    function(arg1, arg2, callback) {
        //Do Second task send result if needed to call back on success
        // arg1 now equals 'one' and arg2 now equals 'two'
        callback(null, 'three');
    },
    function(arg1, callback) {
        // Execute the mysql task
        callback(null, 'done');
    }
], function (err, result) {
    // result now equals 'done'
});