【问题标题】:keferjs stream debounce, but not on keycode==13(return)keferjs 流去抖动,但不在 keycode==13(return) 上
【发布时间】:2016-03-04 00:45:02
【问题描述】:

我想在除返回之外的所有按键上去抖动。我尝试了以下方法,但它没有去抖动。

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

                        })

【问题讨论】:

    标签: throttling kefir.js


    【解决方案1】:

    我能够使用下面的代码块解决这个问题,该代码块在除 13 之外的每个 keyCode 上去抖动:

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

    【讨论】:

      猜你喜欢
      • 2015-07-25
      • 2019-11-11
      • 2012-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      • 2017-04-25
      • 1970-01-01
      相关资源
      最近更新 更多