почему мне нужно вызвать генератор async javascript внутри функции async, чтобы перебрать его?
async function* run() {
await new Promise(resolve => setTimeout(resolve, 100));
yield 'Hello';
console.log('World');
}
const asyncIterator = run();
// Prints "Hello\nWorld"
(async () => {
for await (const val of asyncIterator) {
console.log(val); // Prints "Hello"
}
})();
здесь, вместо
(async () => {
for await (const val of asyncIterator) {
console.log(val); // Prints "Hello"
}
})();
почему я не могу использовать такую функцию async
for (const val of asyncIterator) {
console.log(val); // Prints "Hello"
}
}
Может ли кто-нибудь объяснить мне, почему я должен передавать его внутри асинхронной функции?