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