【发布时间】:2018-12-04 18:42:00
【问题描述】:
我有组件(控制器)中描述的方法:
public requestPassportData(): void {
const th = this;
const data = {
get_scanned_data: true
};
Observable.timer(0, 1000)
.switchMap(() => this.requestMethods.requestPassportData(data))
.takeWhile(() => {
return (
th.formRegister.currentForm().index == 1 ||
th.formRegister.currentForm().index == 2 ||
th.formRegister.currentForm().index == 3
);
})
.subscribe(response => {});
}
如果调用方法requestPassportData() 5 次,它将每秒向服务器发送5 个请求。为什么switchMap不取消最后一个观察者?
【问题讨论】:
-
也许
takeWhile限制这样做?