1

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

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

4

1 回答 1

0

假设你已经有了 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)); 
        }
   );
 });
于 2012-01-05T20:30:23.740 回答