大佬教程收集整理的这篇文章主要介绍了javascript – TypeScript:异步生成器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
export async function* iterateDir(dir: String) { let list = await fs.readdir(dir); // fs-promise implementation of readdir for (let file of list) { yield file; } }
我会用的是:
for (let file in iterateDir(dir)) { processFile(filE); }
这不起作用,因为函数不能同时是异步和生成器.
我将如何构造代码以实现相同的目标?
>如果我将await fs.readdir更改为回调,我假设外部for..of循环不会等待.
>如果我摆脱了生成器并且目录很大,则iterateDir()会很慢.
它介绍了一些新类型,特别是:
interface AsyncIterable<T> { [Symbol.asyncIterator](): AsyncIterator<T>; }
但最重要的是它还引入了等待……的
for await (const line of readLines(filePath)) { console.log(linE); }
哪里
async function* readLines(path) { //await and yield ... }
请注意,如果要尝试此操作,则需要配置typescript以使其知道您具有运行时支持(将“esnext.asynciterable”添加到lib列表),您可能需要填充Symbol.asyncIterator.见TS2318: Cannot find global type ‘AsyncIterableIterator’ – async generator
以上是大佬教程为你收集整理的javascript – TypeScript:异步生成器全部内容,希望文章能够帮你解决javascript – TypeScript:异步生成器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。