gpt4 book ai didi

javascript - 主题上的 rxjs debounceTime

转载 作者:行者123 更新时间:2023-11-30 14:23:26 24 4
gpt4 key购买 nike

有一段代码是这样的:

const hoverQueue$ = new Rx.Subject()
.debounceTime(1000)
.subscribe(() => {
console.log('subject')
});

const callback = () => {
hoverQueue$.next(true)
}

这似乎行不通。而不是让我的事件被延迟 1 秒并且只获得最后发出的值,它们都通过,就好像 debounceTime 不存在一样。同样的行为会延迟发生,似乎不起作用。似乎在可观察对象上按预期工作。callback 是我正在使用的另一个库调用的回调。

不确定我是否遗漏了什么或者我是否做了一些不应该做的事情,在网上找不到太多关于这个的信息。

下面有一个 fiddle 和一个例子来演示

这是我正在运行的 rxjs 5.4.1 的 fiddle https://jsfiddle.net/theya222/2nhu1ka7/

这是最新版本的 rxjs https://jsfiddle.net/theya222/j1uLw80d/

谢谢

最佳答案

hoverQueue$ 是在 Observable 上执行 subscribe 的结果。因此 hoverQueue$ 是一个 Subscription 而不是一个 Observable 并且 Subscription 没有方法 next

你要做的就是这个

const subj = new Rx.Subject();
const hoverQueue$ = subj.debounceTime(1000);

hoverQueue$.subscribe(() => {
console.log('subject')
});

const callback = () => {
subj.next(true)
}

如果回调是一个

callback called by another library

拿查看使用 Observable 定义的 bindCallback 方法/函数。

关于javascript - 主题上的 rxjs debounceTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52345083/

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