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


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]])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。