gpt4 book ai didi

javascript - takeUntil 之后调用最后一个值

转载 作者:行者123 更新时间:2023-12-01 00:57:22 25 4
gpt4 key购买 nike

我有一个服务调用,我每 5 秒检查它是否返回 true 或 false。

notifier(){
return Rx.Observable.of(true) // based on some condition
}

executeAnotherApiCall(){

}

const interval = Rx.Observable.interval(5000)


interval
.takeUntil(() => this.notifier())
.map((x) => this.executeAnotherApiCall())

问题是executeAnotherApiCall从未被调用,它直接调用方法subscribe方法。

是否有办法在 takeUntil() 返回 true 后执行另一个方法/函数。

最佳答案

timer(2000) 的工作原理是它在 2 秒后发出 0 然后完成。 TakeUntil 等待 this.notifier() 完成并停止发出值。您的间隔在 5 秒后发出第一个值,因此这种情况永远不会发生,因为 takeUntil 将停止发出值。

当您更改参数时,例如:

const interval = Rx.Observable.interval(1000)
const notifier = Rx.Observable.timer(2000)

在这种情况下,您的executeAnotherApiCall()方法将运行一次。

关于javascript - takeUntil 之后调用最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56432294/

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