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


Node.js stream.Readable.iterator([options])用法及代碼示例


readable.iterator([options])

添加於:v16.3.0
Stability: 1 - 實驗性

參數
  • options <Object>
    • destroyOnReturn <boolean> 當設置為 false 時,在異步迭代器上調用 return 或使用 breakreturnthrow 退出 for await...of 迭代不會破壞流。 默認: true
  • 返回: <AsyncIterator> 以使用流。

如果 for await...of 循環由 returnbreakthrow 退出,或者如果迭代器應該銷毀流在迭代期間發出錯誤。

const { Readable } = require('node:stream');

async function printIterator(readable) {
  for await (const chunk of readable.iterator({ destroyOnReturn: false })) {
    console.log(chunk); // 1
    break;
  }

  console.log(readable.destroyed); // false

  for await (const chunk of readable.iterator({ destroyOnReturn: false })) {
    console.log(chunk); // Will print 2 and then 3
  }

  console.log(readable.destroyed); // True, stream was totally consumed
}

async function printSymbolAsyncIterator(readable) {
  for await (const chunk of readable) {
    console.log(chunk); // 1
    break;
  }

  console.log(readable.destroyed); // true
}

async function showBoth() {
  await printIterator(Readable.from([1, 2, 3]));
  await printSymbolAsyncIterator(Readable.from([1, 2, 3]));
}

showBoth();

相關用法


注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 stream.Readable.iterator([options])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。