我有一系列项目。该数组中的每个项目代表我的 html 表中的一行,并在项目数组更改时自动呈现。
我现在想rxjs
在单击按钮时将一些项目添加到该表中,因此我执行了以下操作:
Rx.Observable.fromEvent(this.$.button, 'click')
.switchMap(() => Rx.Observable.range(0, 10000))
.subscribe((x) => {
this.push('items', {id: '' + x, description: '' + x});
});
但这会冻结 ui,直到每个元素都被推入数组。如何实现它以便用户界面不会冻结并仍然响应用户输入?
如果您不想range
同步发出整个范围的值,您可以指定一个scheduler。
例如:
Rx.Observable
.fromEvent(this.$.button, 'click')
.switchMap(() => Rx.Observable.range(0, 10000, Rx.Scheduler.asap))
.subscribe((x) => {
this.push('items', {id: '' + x, description: '' + x});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句