Javascript Rxjs在继续之前等待上一次间隔请求执行
用例:每3分钟调用一个端点,该端点将通过应用程序更新特定服务的状态 我当前的代码:Javascript Rxjs在继续之前等待上一次间隔请求执行,javascript,angular,typescript,rxjs,Javascript,Angular,Typescript,Rxjs,用例:每3分钟调用一个端点,该端点将通过应用程序更新特定服务的状态 我当前的代码: 间隔(180000) .订阅(()=>this.doRequest .管道(捕捉错误(()=>{ this.applicationFlag=false; 返回空; })) .subscribe(result=>this.applicationFlag=result))当一个订阅在另一个订阅中时,无法通知外链内链已完成。您必须重新构造链并使用操作符,如concatMap、mergeMap或switchMap。例如
间隔(180000)
.订阅(()=>this.doRequest
.管道(捕捉错误(()=>{
this.applicationFlag=false;
返回空;
}))
.subscribe(result=>this.applicationFlag=result))代码>当一个订阅
在另一个订阅
中时,无法通知外链内链已完成。您必须重新构造链并使用操作符,如concatMap
、mergeMap
或switchMap
。例如,如下所示:
interval(180000)
.pipe(
concatMap(() => this.doRequest.pipe(
catchError(() => {
this.applicationFlag = false;
return EMPTY;
}),
),
)
.subscribe();
当一个subscribe
位于另一个subscribe
内部时,无法通知外链内链已完成。您必须重新构造链并使用操作符,如concatMap
、mergeMap
或switchMap
。例如,如下所示:
interval(180000)
.pipe(
concatMap(() => this.doRequest.pipe(
catchError(() => {
this.applicationFlag = false;
return EMPTY;
}),
),
)
.subscribe();
“有时上一个间隔请求尚未完成”=>这意味着您的请求需要3分钟才能得到答复?向管道添加exhaustMap()是否有帮助?只要当前请求不存在,它就会忽略新请求finished@OliverGebert不是真的,这只是配置表单“有时上一个间隔请求尚未完成”中指定的时间范围=>这意味着您的请求需要3分钟才能得到响应?将exhaustMap()添加到管道是否有帮助?只要当前请求不存在,它就会忽略新请求finished@OliverGebert不是真的,它只是配置表单中指定的时间范围