在Angular 8中,您可以使用forEach
循环来调用subscribe
和forkJoin
。下面是一个示例代码:
首先,您需要导入相关的RxJS操作符和依赖项:
import { forkJoin, Observable } from 'rxjs';
import { tap } from 'rxjs/operators';
然后,您可以创建一个Observable数组,并使用forkJoin
操作符将它们合并为一个Observable:
const observables: Observable[] = [];
array.forEach(item => {
const observable = this.http.get('api/url/' + item.id).pipe(
tap(response => {
// 处理响应数据
console.log(response);
})
);
observables.push(observable);
});
forkJoin(observables).subscribe(results => {
// 处理合并后的结果
console.log(results);
});
在上面的代码中,array
是您要循环处理的数据数组。在循环中,我们通过使用this.http.get
方法创建一个HTTP请求的Observable,并使用tap
操作符来处理响应数据。
然后,我们将每个Observable推入observables
数组中。最后,我们使用forkJoin
操作符将所有的Observable合并为一个Observable,并在subscribe
回调函数中处理合并后的结果。
请注意,在tap
操作符中,您可以执行与响应数据相关的任何操作,例如打印到控制台、更新本地变量等。
希望这个示例对您有所帮助!