gpt4 book ai didi

javascript - 是否有更短的方法来提供 Observable onComplete 处理程序?

转载 作者:行者123 更新时间:2023-11-28 17:42:11 26 4
gpt4 key购买 nike

我正在使用 Observable 链,并且仅当链完全完成时,我对下一个或错误值不感兴趣。进入 subscribe 方法并为 next 和 error 提供 2 个 noop 感觉是错误的,这样我就可以提供 onComplete 回调。

例如:

let isRunning = true;

Observable.from([1000, 2000, 3000])
.concatMap(value => Observable.timer(value)
.subscribe(
() => {},
() => {},
() => isRunning = false;
);

我想要的是这样的东西

let isRunning = true;

Observable.from([1000, 2000, 3000])
.concatMap(value => Observable.timer(value)
.onComplete(() => isRunning = false);

最佳答案

不,没有捷径。但是,您可以传递 null 而不是空函数。

obs$.subscribe(null, null, () => this.isRunning = false);

如果你想要某种技巧,你也可以这样做

obs$.last().subscribe(() => this.isRunning = false);

例如,如果您需要访问完成处理程序中最后发出的值,则这是有意义的。

关于javascript - 是否有更短的方法来提供 Observable onComplete 处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47680229/

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