如何使用rxjs的求和运算符?

How to use sum operator of rxjs?

我尝试过的事情包括以下内容,其中值是我想要求和的值数组。

我还从 rxjs 添加了必要的功能,如下所示: 我收到一条错误消息

typeError: Rx.Observable.from(...).sum is not a function

const { merge , interval ,from} = rxjs;
const { tap ,take ,sum } = rxjs.operators;   
             
var sumSource = Rx.Observable.from(values).sum(function (x) {
    return x;
});

var subscription = sumSource.subscribe(
    function (x) {
        console.log('Next: ' + x);
        x.target.value = x;
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    }
);

关于 internet.Any 输入求和的可用信息不多,无法求和?

  • sum: 关于官方 rxjs github repository they do not export/provide the sum 运算符。
  • reduce operator reduce 在源 Observable 上应用累加器函数,returns 源完成时的累加结果。
  • 扫描运算符 scan 在源 Observable 上应用一个累加器函数,并且 returns 每次发射的累加结果。

设置

const values = [1,2,3,4,5];
const accumulator = (acc, curr) => acc + curr;

实施减少

from(values).pipe(
  reduce(accumulator, 0)
)
// Expected output: 15

执行扫描

from(values).pipe(
  scan(accumulator, 0)
)
// expected output: 1, 3, 6, 10, 15

我做了一个 运行 stackblitz here