在Angular中,可以通过使用RxJS Observables和rxjs/operators库来实现持续调用API并检索结果。
以下是一个示例的步骤:
import { Observable, timer } from 'rxjs';
import { switchMap, takeUntil } from 'rxjs/operators';
fetchDataFromApi(): Observable<any> {
return yourApiService.fetchData(); // 替换为实际的API调用
}
retrieveData(): Observable<any> {
return timer(0, 1000) // 每秒钟调用一次
.pipe(
switchMap(() => this.fetchDataFromApi()), // 调用API
takeUntil((response) => response !== null) // 直到获得非空结果停止调用
);
}
this.retrieveData().subscribe(
(response) => {
if (response !== null) {
// 处理获得的结果
console.log(response);
}
},
(error) => {
// 处理错误
console.error(error);
}
);
以上示例代码展示了如何使用RxJS Observables和rxjs/operators库在Angular中实现持续调用API直到检索到结果。对于API调用的细节,请将yourApiService.fetchData()替换为实际的API调用方法。
关于Angular、RxJS、Observables和rxjs/operators的更多信息和推荐的腾讯云产品,请参考以下链接:
领取专属 10元无门槛券
手把手带您无忧上云