【发布时间】:2021-09-17 23:05:27
【问题描述】:
我想在循环中发送数据。循环中的每一轮都必须等待答案。我尝试与 Promise 合作。循环中的第一轮有效,但问题是,循环在承诺后的第一轮停止。很高兴得到一些解释。谢谢!
let dataReceived;
for (let i = 0; i < arr.length; i++){
dataReceived = false;
sendInfo(arr[i]); // send some data
await checkDataReceived();
console.log(i);
}
function checkDataReceived() {
return new Promise((resolve, reject) => {
if(dataReceived == false) {
setTimeout(checkDataReceived, 100);
} else {
console.log('continue');
// do something...
resolve (true);
}
});
}
function awaitData(data){
// do something
dataReceived = true;
}
【问题讨论】:
标签: javascript node.js loops promise