我可以取消RxJs的延迟吗



我使用RxJs delayWhen将一些后端请求之间的延迟配置为60秒。我想要实现的是在某个时候取消正在进行的延迟的可能性。

假设延迟了30秒,用户正在执行一些操作。我想立即触发后端请求,而不需要等待接下来的30秒

有没有一种方法可以使用rxJs来实现这一点?

这是理论上的,可能有更好的方法,但takeUntil运算符可能会有所帮助。

可能发生的情况是,你可以在你的页面上有一个按钮。单击该按钮时,可能会发出事件buttonClicked$。您想要触发的操作可能会侦听该事件:

yourDesiredEvent$.pipe(
takeUntil(buttonClicked$), 
...
)

一旦单击按钮(将发出buttonClicked$事件(,它就可以取消侦听30秒规则,只触发后端调用。

如果这里的任何信息有错误,请告诉我,所以我删除了它,希望不会产生误导。:(

最新更新