可以使用 RxJS 的 from 函数将 Promise 转换成 Observable,在使用 first 或 take(1) 订阅 Observable 来避免错误重复处理。
示例代码如下:
import { HttpClient } from '@angular/common/http'; import { first } from 'rxjs/operators'; import { from } from 'rxjs';
// 在 service 中使用 HttpClient
getData(): Observable
// 在组件中订阅 Observable this.dataService.getData().subscribe( data => { console.log(data); }, error => { console.error(error); } );