我想让 RxJS Observable 来处理我的繁重工作。但我希望它在需要时使订阅异步。例如:
const observable = Rx.Observable.create(function (observer) {
observer.next(1);
var cycle = 100;
while(cycle-- > 0){
observer.next(2);
}
observer.next(3);
observer.complete();
});
console.log('before');
observable.subscribe({
next: x => console.log('got value ' + x),
error: err => console.error('something wrong occurred: ' + err),
complete: () => console.log('done'),
});
console.log('after');
在这种情况下,after 字符串会在从 observable 输出整个数据之后打印出来。但我希望 observable 处理繁重的工作,并在需要时使剩余的工作异步。
所以我想到的一种方法是将重要的部分放在 setTimeout 中。我已经在网上搜索过,但还没有找到解决方案。有哪些可能的方法,哪一种更好?