如何使用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。
我尝试过的事情包括以下内容,其中值是我想要求和的值数组。
我还从 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。