我有一系列物品。该数组中的每个项目代表我的html表中的一行,并在项目数组发生变化时自动呈现。
我现在想用const delay = ms => {
return new Promise(resolve => setTimeout(resolve, ms));
};
在我点击按钮时向该表添加一些项目,所以我做了以下事情:
rxjs
但这会冻结ui,直到每个元素都被推入数组。 我如何实现它以便ui不冻结并仍然响应用户输入?
答案 0 :(得分:1)
如果您不希望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});
});