我正在尝试使用.map()创建一个循环访问数字数组的循环 我想记录该数组的每个数字,每次迭代之间都有延迟 当我这样做时,我所有的号码都会立即在控制台上登录,而不会延迟
对这里发生的事情有任何想法吗?我想念什么?
我试图用一个基本的for(i)编写循环,但是我只得到第一个显示的数字。
(async () => {
var numbers = [7, 3, 6, 9, 4, 8];
await Promise.all(numbers.map(async n => {
console.log(n);
await delay(3000);
}));
console.log('done');
})();
function delay(time) {
return new Promise(resolve => {
setTimeout(resolve, time);
});
}
这是一个代码段:https://playcode.io/373435?tabs=script.js,preview,console
控制台显示:
7
3
6
9
4
8
'done'
除了每次迭代之间都存在延迟外,所有数字均立即无延迟地记录在控制台上