Согласно MDN Web Docs:
В настоящее время нет встроенных объектов JavaScript, для которых по умолчанию установлен ключ [Symbol.asyncIterator].
Myвопрос в том, как это работает:
function promises() {
return [
new Promise(x => setTimeout(() => x(1), 1000)),
new Promise(x => setTimeout(() => x(2), 2000)),
new Promise(x => setTimeout(() => x(3), 3000)),
]
}
for await (x of promises()) console.log(x)