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


Node.js stream.Readable.reduce(fn[, initial[, options]])用法及代碼示例


readable.reduce(fn[, initial[, options]])

添加於:v17.5.0
Stability: 1 - 實驗性

參數
  • fn <Function>|<AsyncFunction>一個 reducer 函數來調用流中的每個塊。
    • previous <any> 從最後一次調用 fninitial 值(如果指定)或流的第一個塊中獲得的值,否則。
    • data <any> 來自流的數據塊。
    • options <Object>
      • signal <AbortSignal> 如果流被破壞則中止,允許提前中止 fn 調用。
  • initial <any> 在歸約中使用的初始值。
  • options <Object>
  • 返回: <Promise> 減少最終值的承諾。

此方法按順序在流的每個塊上調用fn,並將對前一個元素的計算結果傳遞給它。它返回對減少的最終值的承諾。

reducer 函數逐個元素地迭代流,這意味著沒有concurrency 參數或並行性。要同時執行 reduce,可以將其鏈接到 readable.map 方法。

如果沒有提供 initial 值,則流的第一個塊用作初始值。如果流為空,則使用帶有 ERR_INVALID_ARGS 代碼屬性的 TypeError 拒絕承諾。

import { Readable } from 'node:stream';

const ten = await Readable.from([1, 2, 3, 4]).reduce((previous, data) => {
  return previous + data;
});
console.log(ten); // 10

相關用法


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