javascript - 异步迭代器使用的真实示例
问题描述
我想知道异步迭代器的一些可能的现实世界使用示例,这是 ECMAScript 2018 的一部分。
对于可读流,它看起来很有用,因为我们可以使用 new 轻松迭代它们for await of
。实际上,在 Node.js 中,可读流已经有一个Symbol.asyncIterator
作为实验特性实现的属性:
const fs = require('fs');
async function print(readable) {
readable.setEncoding('utf8');
let data = '';
for await (const k of readable) {
data += k;
}
console.log(data);
}
print(fs.createReadStream('file')).catch(console.log);
但是我想不出其他一些好的用法。
至于同步迭代器,我们有像 Array 或 Map 这样的原生对象,它们包含Symbol.iterator
自 ES2015 以来的属性,使它们可迭代。在这种情况下,我认为它们的用途非常广泛且易于理解。
任何想法表示赞赏。
解决方案
推荐阅读
- java - 在 WebView 上将 EditText 与 loadUrl 相结合
- android - 基于 Qt 的 android 应用程序在一台特定设备上启动时崩溃。“dlopen 失败:libqtforandroid”
- c# - 如何在“新邮件”按钮附近为 Outlook-Addin 创建一个复选框
- maven - Maven 发布插件用户输入安全
- c++ - grpc 服务器端向客户端推送消息
- c# - 多个异步调用,调用之间有暂停
- javascript - ReCaptcha 的 React Native 替代方案
- python - How to write a function that takes another function and its arguments as input, runs it in a thread and destroys thread after execution?
- c# - 设置 ItemsPanelTemplate UniformGrid 行和列
- azure - Azure AD B2C 自定义策略 - 动态绑定 MultiCheckbox