异步生成器功能与生成器功能相同。异步生成器函数将返回一个对象,而异步生成器的方法(例如next)将为{value,done}抛出并返回promise,而不是直接返回。
这是来自GitHub的示例,显示了返回异步生成器对象的函数-
async function* readLines(path) {
let file = await fileOpen(path);
try {
while (!file.EOF) {
yield await file.readLine();
}
} finally {
await file.close();
}
}