gpt4 book ai didi

angular - 使用 takeUntil() 关闭订阅

转载 作者:行者123 更新时间:2023-12-04 14:34:11 25 4
gpt4 key购买 nike

我订阅了从 NgRx reducer 获取提供程序的订阅。我想用takeUntil()当最终返回一个包含内容的数组时自动关闭订阅:

// Fetch providers
this.store.pipe(select(reducer.getProviders))
// .takeUntil(reducer.getProviders.length > 0)
.subscribe(providers => {
if (providers) {
this.providers = providers;
// takeUntil(/** something **/);
}
});

有人可以帮我弄这个吗?

我不知道如何使用 takeUntil()

最佳答案

您正在寻找 takeWhile() .
takeUntil()的参数是一个 observable,一旦该 observable 发出它就会停止取值。
takeWhile()的参数是决定是否取值的谓词。

请参阅 learn-rxjs 上的 takeWhile 文档:
https://www.learnrxjs.io/operators/filtering/takewhile.html

takeWhile(predicate: function(value, index): boolean, inclusive?: boolean): Observable

Emit values until provided expression is false.

关于angular - 使用 takeUntil() 关闭订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57705917/

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