javascript - Javascript = Promise.then:forEach 中的解析顺序
问题描述
我在 foreach 循环中管理承诺时遇到问题。
这是我使用的代码的表示:
function FinalFunction() {
var list = GetList()
list.forEach(element => {
console.log('1');
myFunction();
console.log('3');
}
console.log('4');
}
function First() {
queryDB().then(
function (rs) {
console.log('2');
}
);
}
queryDB = function(sql){
...
connectToDB(cfg).then(
function(){
...
}
);
return def.promise;
}
connectoToDb = function(acfg) {
fb.attach(acfg,
function(err,db) {
...
}
);
return def.promise;
}
如果我在 foreach 中有 3 个元素,在我的控制台中我想
1
2
3
1
2
3
1
2
3
4
但是我有
1
3
1
3
1
3
4
2
2
2
使用 promises.then first>queryDB>connectToDB 链,我无法使用 await async 设置同步。
我应该在我的链中的哪个点声明它?
谢谢 :) !
解决方案
推荐阅读
- mysql - mysql 服务器无法在 Ubuntu 18.04 上安装
- javascript - 加载 chrome 扩展并查找当前网站 javascript
- flutter - 限制collection().get()的数量
- c# - 不支持关键字:尝试更新数据库时的“端口”
- html - CSS 变换比例也增加 div 父体
- session - 如何在flurl中的同一会话中使用两个调用
- django-two-factor-auth - 两因素发行人
- java - 无需使用 OptaPlanner 定义 xml 配置即可实现分区搜索
- python - 通过在现有列中应用算术函数来创建新列
- unit-testing - 来自 jupyter 笔记本中断言的 Pytest 样式输出