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
                        }
                    }
                })