keferjs 流去抖动,但不在 keycode==13(return)
keferjs stream debounce, but not on keycode==13(return)
我想对除 return 以外的所有按键进行去抖动。我已经尝试了以下但它没有去抖动。
some_stream.flatMap((event) => {
if(event.keyCode == 13){
return Kefir.stream(emitter => {
emitter.emit(event.target.value);
});
}else{
const debounced_stream = Kefir.stream(emitter => {
emitter.emit(event.target.value);
}).debounce(1000)
return debounced_stream;
}
})
我能够用下面的代码块解决这个问题,除了 13:
const search_stream = Kefir.fromEvents(self.search_keyword._tag.input, 'keyup');
const debounced_search_stream = search_stream
.filter((event) => {
return event.keyCode != 13;
})
.map((event) => {
return event.target.value;
})
.debounce(1000);
const not_debounced_search_stream = search_stream
.filter((event) => {
return event.keyCode == 13;
})
.map((event) => {
return event.target.value;
})
Kefir.merge([debounced_search_stream, not_debounced_search_stream]).onValue(keyword => {
if(keyword !== null){
if (keyword) {
//do something
}
}
})
我想对除 return 以外的所有按键进行去抖动。我已经尝试了以下但它没有去抖动。
some_stream.flatMap((event) => {
if(event.keyCode == 13){
return Kefir.stream(emitter => {
emitter.emit(event.target.value);
});
}else{
const debounced_stream = Kefir.stream(emitter => {
emitter.emit(event.target.value);
}).debounce(1000)
return debounced_stream;
}
})
我能够用下面的代码块解决这个问题,除了 13:
const search_stream = Kefir.fromEvents(self.search_keyword._tag.input, 'keyup');
const debounced_search_stream = search_stream
.filter((event) => {
return event.keyCode != 13;
})
.map((event) => {
return event.target.value;
})
.debounce(1000);
const not_debounced_search_stream = search_stream
.filter((event) => {
return event.keyCode == 13;
})
.map((event) => {
return event.target.value;
})
Kefir.merge([debounced_search_stream, not_debounced_search_stream]).onValue(keyword => {
if(keyword !== null){
if (keyword) {
//do something
}
}
})