【问题标题】:How to buffer events with Rx extentions for JS如何使用 JS 的 Rx 扩展来缓冲事件
【发布时间】:2012-01-05 20:00:14
【问题描述】:

我不想从输入中获取文本更改事件,但将它们限制为每秒 3 个。

Rx 支持我的愿望?我怎样才能获得这种能力?

【问题讨论】:

    标签: reactive-extensions-js


    【解决方案1】:

    假设你已经有了 Observable,在你消费之前插入一个对 throttle(333) 的调用应该可以解决问题。 (333= 毫秒,即 1000/3,每秒 3 个字符)。

    一个非常简单的示例:

     $(document).ready(function () {
       var mainCanvas = $("#TextBox1");
       var observable = Rx.Observable.FromHtmlEvent(mainCanvas.context, "keypress");
    
       var throttle = observable.throttle(333);
    
       throttle.subscribe(function (next) {
             $('div#test').append(String.fromCharCode( next.charCode)); 
            }
       );
     });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多