我在RxJS方面没有太多经验,我想在我的Angular服务中用RxJS管道做以下事情。
我试过用iif函数,但我根本没有足够的经验。
Angular版本是 Angular 9 RxJS版本。6.5.5
通过HttpClient检查GET请求的响应是否为true ...... true -> 检查是否可以通过HttpClient访问网站............................................................................................................................................................................................................... true -> set this.isOnline = true ................................................................................................................................................................................................
试试下面的方法
import { EMPTY } from 'rxjs';
import { concatMap } from 'rxjs/operators';
http.get(api).pipe(
concatMap(reponseOne => {
return http.get(accessWebsiteApi).pipe(
concatMap(responseTwo => {
this.isOnline = true;
return http.get(anotherUrl);
}),
catchError(errorTwo => {
this.isOnline = false;
return EMPTY;
})
);
})
).subscribe(
responseFromUrl => {
this.result = responseFromUrl;
},
error => {
console.error("cant get result");
}
);