當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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]()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。