javascript - 如何同步执行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()
})
}
解决方案
这也许可以帮助您:
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)
})
}
所以简而言之,你错过的是返回函数值,该函数值将在接下来被捕获和使用。
推荐阅读
- c# - C#将多个图像添加到objectlistview的同一列
- css - 以角度控制 mat-tab 项目的位置
- .net - 如何检测 PipeReader 何时到达数据源的末端(管道末端)?
- android - 如何获取启用或禁用 wifi 的事件
- java - 通过 SSL 的 LDAP 连接在 Docker 容器中失败,但在 Openshift 容器中工作
- python-3.x - 在 python 中使用 str() 方法将整数转换为字符串会占用额外空间吗?
- angular - 在 mat-dialog 中填充组件的输入
- php - 努力将数组结构转换为 PHP 中的递归树
- docker - 远程访问运行在 kubernetes 中的 Kafka
- node.js - 如何使用直接 url 访问 node.js 站点而不在 aws ubuntu、Apache2 中提及端口 8080