首页 > 解决方案 > 如何执行同步编程

问题描述

我不是以英语为母语的人,所以请忽略我的错误。

我正在使用 NodeJs 并希望将批量数据插入 MySQL 数据库

我在嵌套循环中有一个插入查询,并希望在嵌套循环的插入查询中使用 async-await执行同步插入并等待循环完成。

for(i=0; i<100; i++){
    for(j=0; j<100; j++){
        // mysql insert query
    }
}

标签: mysqlnode.js

解决方案


一种方法是使用循环将所有承诺(异步调用)推送到数组中,然后使用诸如Promise.all() or Promise.allSettled()执行它们之类的方法。

let promiseArr = [];
for (let i = 0; i < 5; i++) {
   promiseArr.push(asyncAction)
}
Promise.all(promiseArr).then((res => {
    // success case
}, err => {
    // error case
});

文档:Promise.all() Promise.settledAll()


推荐阅读