我正在练习一些 Promise 和 Closure。我有一个forEach循环,返回一个 3 秒超时的 Promise,在 Promise 解析后,它应该记录一条语句。
我认为我这样做是错误的,因为我期望每 3 秒看到一个日志,"111"然后是"222",但是我看到延迟了 3 秒,然后立即看到 3 个日志"111" "222"。
let arr = [1,2,3];
arr.forEach((x,i) => {
(function() {
return new Promise((resolve,reject) => {
setTimeout(() => {
console.log("111")
resolve(true)
}, 3000);
})
})()
.then(() => {console.log("222")})
});
弑天下
相关分类