首页 > 解决方案 > 如何同步执行javascript函数

问题描述

我是nodejs的新手。有人可以给我写一个执行以下操作的 sudo 代码吗?

函数1();//返回一个可以在function2和function3中使用的数组

函数2();//返回一个可以在function3中使用的数组

函数3();

我想同时运行所有三个功能。所以 function2 必须等待 function1 完成,然后在 function2 中使用返回的数组。然后 function3 等待 function2 完成,然后在 function3 中使用返回的数组,依此类推。

尝试过这样的事情,但似乎也同时执行。

function main() {
    return Promise.resolve()
        .then (function(){
            function1()
        })
        .then (function(){
            function2()
        })
        .then (function(){
            function3()
        })
}

标签: javascriptnode.js

解决方案


这也许可以帮助您:

function main() {
return Promise.resolve()
    .then (function(){
        return function1()
    })
    .then (function(results){
        // process your results
        return function2([pass arguments IF required])
    })
    .then (function(results){
        // process your results
        function3([pass arguments IF required])
    })
    .then (function (results) {
        return results
     })
    .catch(function(err) {
        console.log(err)
     })

}

所以简而言之,你错过的是返回函数值,该函数值将在接下来被捕获和使用。


推荐阅读