我想要这样的功能:
export async function* iterateDir(dir: string) {
let list = await fs.readdir(dir); // fs-promise implementation of readdir
for (let file of list) {
yield file;
}
}
Run Code Online (Sandbox Code Playgroud)
我会用的是:
for (let file in iterateDir(dir)) {
processFile(file);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为函数不能同时是异步和生成器.
我将如何构造代码以实现相同的目标?
await fs.readdirto回调,我假设外部for..of循环不会等待.iterateDir()将会很慢.供参考:异步生成器功能提议