gpt4 book ai didi

javascript - rxjs如何完成observable?

转载 作者:行者123 更新时间:2023-12-01 15:51:19 25 4
gpt4 key购买 nike

学习 rxjs 我正在玩弄它。
我的代码:

// RxJS v6+
import { withLatestFrom, map } from 'rxjs/operators';
import { interval } from 'rxjs';

const source = interval(1000);

const example = source.pipe(
map(value => value +1),
map(value => {
if(value === 40) {
finish();
}
else if (value % 5 === 0){
return 'can devide by 5 we did some magic';
}else{
return value;
} })
);
const subscribe = example.subscribe(
val => console.log(val),
error => console.log("Error handled: " , error),
() => console.log('resolved'));

我的想法是运行它 40 次然后完成 observable(这可能是另一个要求,例如查看 10:00 的值是否为 10(主要目标是对值进行评估并强制完成))。
我正在寻找占位符finish() 的替代品,因为finish 不存在。如何使用解析功能 () => console.log('resolved')订阅方法?

我找到了 How can I complete Observable in RxJS但答案是从 2015 年开始,我假设现在有一个针对当前 rxjs 版本的答案。

最佳答案

Acuatally 仍然是相同的,您只需要使用管道运算符。您可以查看示例 here

import { interval, timer } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

const source = interval(1000);
const timer$ = timer(5000);
const example = source.pipe(takeUntil(timer$));
const subscribe = example.subscribe(val => console.log(val));

关于javascript - rxjs如何完成observable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59137083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com