我不想从输入中获取文本更改事件,但将它们限制为每秒 3 个。
Rx支持我的愿望?我怎样才能获得这种能力?
假设你已经有了 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));
}
);
});