检查是否在 8 秒内没有返回响应
Check if response not returned in 8 seconds
我的 Angular 组件中有返回数据的方法
这是这个方法
getRecognitionById() {
this.loaderService.show(null, true);
forkJoin(
this.vendorWebApiService.getRecognitionById(this.executiveChangeId),
this.vendorWebApiService.getLatestFeedback(this.executiveChangeId)).pipe(take(1))
.subscribe(res => {
this.recognitionData = res[0];
this.latestFeedback = res[1];
this.generateResponseFeedbackGroup();
this.loaderService.hide(true);
});
}
我需要检查是否在 8 秒内没有收到回复,提醒用户 alert(response.exceptionMessage);
我该怎么做?
您可以使用 timeout
运算符:
// import { throwError, TimeoutError } from 'rxjs';
// import { catchError, timeout } from 'rxjs/operators';
getRecognitionById() {
this.loaderService.show(null, true);
forkJoin(
this.vendorWebApiService.getRecognitionById(this.executiveChangeId),
this.vendorWebApiService.getLatestFeedback(this.executiveChangeId)).pipe(
take(1),
timeout(8000),
catchError((err) => {
if (err instanceof TimeoutError) {
// alert(response.exceptionMessage);
}
return throwError(err);
}),
)
.subscribe(res => {
this.recognitionData = res[0];
this.latestFeedback = res[1];
this.generateResponseFeedbackGroup();
this.loaderService.hide(true);
});
}
我的 Angular 组件中有返回数据的方法
这是这个方法
getRecognitionById() {
this.loaderService.show(null, true);
forkJoin(
this.vendorWebApiService.getRecognitionById(this.executiveChangeId),
this.vendorWebApiService.getLatestFeedback(this.executiveChangeId)).pipe(take(1))
.subscribe(res => {
this.recognitionData = res[0];
this.latestFeedback = res[1];
this.generateResponseFeedbackGroup();
this.loaderService.hide(true);
});
}
我需要检查是否在 8 秒内没有收到回复,提醒用户 alert(response.exceptionMessage);
我该怎么做?
您可以使用 timeout
运算符:
// import { throwError, TimeoutError } from 'rxjs';
// import { catchError, timeout } from 'rxjs/operators';
getRecognitionById() {
this.loaderService.show(null, true);
forkJoin(
this.vendorWebApiService.getRecognitionById(this.executiveChangeId),
this.vendorWebApiService.getLatestFeedback(this.executiveChangeId)).pipe(
take(1),
timeout(8000),
catchError((err) => {
if (err instanceof TimeoutError) {
// alert(response.exceptionMessage);
}
return throwError(err);
}),
)
.subscribe(res => {
this.recognitionData = res[0];
this.latestFeedback = res[1];
this.generateResponseFeedbackGroup();
this.loaderService.hide(true);
});
}