1
我的方案是我通過aws sdk將記錄集添加到主機區。添加記錄集時,aws sdk有一個GetChange
調用,可用於獲取該狀態。這是我目前做的代碼:完成rxjs可觀察間隔的正確方法?
this._adminService.registerDomain(caseWebsiteUrl.Url).
subscribe(id => {
return Observable.interval(5000).flatMap(() => {
return this._adminService.getChange(id);
}).
takeWhile((s) => s.ChangeInfo.Status.Value !== 'INSYNC').subscribe(
() => {
},
() => {
},
() => this.urlStatus = 'fa fa-check');
});
在上面的代碼,我想打電話給registerDomain
並已成功後,我想打電話給getChange
每5 seconds
直到Status.Value !== 'INSYNC'
的幾個問題:
- flatMap在幹什麼?
- 是否有可能做到這一點,而不需要2次訂閱呼叫?
- 如果我不需要下一個或錯誤的回調,但我需要完整的,是否有必要申報空身?
我應該如何重構訂閱?我需要完整的。我不需要接下來的錯誤。 – xaisoft
我已經添加了一個重構示例 –
您可以詳細說明concatMap和mergeMap嗎? – xaisoft