for
засунуть ожидание await
await
может работать только for of
const something = async _ => new Promise(resolve => setTimeout(resolve, 100));
const asyncRecursive = async (limit, count = 0) => {
await something();
console.log(count);
count+=1;
if (count < limit) {
await asyncRecursive(limit, count);
}
}
let limit = 10;
(async function() {
for(let n of Array.from(Array(limit).keys())) {
await something();
console.log(n);
}
await asyncRecursive(limit);
})();
Как написано в описании циклов, с await может работать только for ofВ каком описании? С await прекрасно работает классический for.
function sleep(delayms) {
return new Promise((resolve) => setTimeout(() => resolve(), delayms));
}
async function foo() {
for (i = 0; i < 10; i += 1) {
await sleep(1000);
console.log(i);
}
return 'done';
}
await foo();
// 0
// 1
// ...
// 9
// "done"