gpt4 book ai didi

javascript - RxJS distinctUntilChanged 多次发出相同的值

转载 作者:行者123 更新时间:2023-11-30 07:51:53 24 4
gpt4 key购买 nike

你们能告诉我这里出了什么问题吗?

RxJS

Jsfiddle Demo

我原以为该值只会打印一次,但它打印了多次

JsFiddle

function Search(sel) {
let observable = Rx.Observable.fromEvent(document.getElementById('iCard'), 'input');
observable
.debounceTime(1000)
.distinctUntilChanged()
.subscribe({
next: this.callGlobalSearch
});
}

function callGlobalSearch(e){
console.log('VALUE : ', e.target.value); // NOT SURE, WHY THE VALUE IS PRINTED MULTIPLE TIMES
}

最佳答案

在 fiddle check here 中更改了您的代码.您不需要在每个 keyup 上订阅 input 事件。 distinctUntilChanged 正在获取始终不同的事件对象。所以它什么也做不了。在那个事件应该被映射到文本之前,然后它可以在 distinctUntilChanged 中进行比较。

Rx.Observable.fromEvent(document.getElementById('iCard'), 'input')
.debounceTime(1000)
.map(e => e.target.value)
.distinctUntilChanged()
.subscribe({
next: callGlobalSearch
});

function callGlobalSearch(text) {
console.log('VALUE : ', text);
}

关于javascript - RxJS distinctUntilChanged 多次发出相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51438410/

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