当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js InterfaceConstructor rl[Symbol.asyncIterator]()用法及代码示例


rl[Symbol.asyncIterator]()

历史
版本变化
v11.4.0、v10.16.0

添加于:v11.4.0、v10.16.0

v11.14.0、v10.17.0

Symbol.asyncIterator 支持不再是实验性的。

创建一个 AsyncIterator 对象,将输入流中的每一行作为字符串进行迭代。此方法允许通过for await...of 循环异步迭代InterfaceConstructor 对象。

输入流中的错误不会被转发。

如果循环以 breakthrowreturn 终止,则将调用 rl.close() 。换句话说,迭代 InterfaceConstructor 将始终完全消耗输入流。

性能无法与传统的 'line' 事件 API 相提并论。对性能敏感的应用程序使用'line'

async function processLineByLine() {
  const rl = readline.createInterface({
    // ...
  });

  for await (const line of rl) {
    // Each line in the readline input will be successively available here as
    // `line`.
  }
}

readline.createInterface() 将在调用后开始使用输入流。在接口创建和异步迭代之间进行异步操作可能会导致丢失行。

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 rl[Symbol.asyncIterator]()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。