Generators can yield promises which can work with the "for await of" loop syntax. This lesson shows how all the pieces fit together and explains why the async function* syntax can be necessary for certain situations.
async function* users() {
let names = ["johnlindquist", "eggheadio"]
for (let name of names) {
let response = await fetch(`https://api.github.com/users/${name}`)
yield response.json()
}
}
async function start() {
for await (let user of users()) {
console.log(user.name)
}
}
start()
来源:https://www.cnblogs.com/Answer1215/p/12543892.html