Ani*_*udh 5 fork-join rxjs angular
这是我的技术堆栈
角度 - 6.1.2
打字稿 - 2.7.2
rxjs-6.2.2
这是我在 Angular 中 forkJoin 方法的代码。后端正在调用 post 请求。但参数没有被传递。
import { Observable } from 'rxjs';
import 'rxjs/add/observable/forkJoin';
reqArray = [];
for (let i = 0; i < this.array.length; i++) {
if(array[i]==true)
{
let obj = { name: 'Test', status: array[i] };
this.reqArray.push(this.http.post(url, { params: obj }).pipe(map((res: Response) => res)));
}
}
forkJoin(this.reqArray).subscribe(
data => {
console.log(data);
},
err => console.error(err)
);
Run Code Online (Sandbox Code Playgroud)
也尝试过这种方法,但我得到了相同的答复。
Observable.forkJoin(this.reqArray).subscribe(
data => {
console.log(data);
},
err => console.error(err)
);
Run Code Online (Sandbox Code Playgroud)
当我以静态方式在没有 for 循环的情况下传递数据时,它工作得很好。
forkJoin(
this.http.get(url, { params: obj }).pipe(map((res: Response) => res)),
this.http.get(url, { params: obj2 }).pipe(map((res: Response) => res)),
this.http.get(url, { params: obj3 }).pipe(map((res: Response) => res)),
this.http.get(url, { params: obj4 }).pipe(map((res: Response) => res))
).subscribe(
data => {
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
但是,就我而言,我必须根据一些条件创建 URL 数组,因此不可能静态添加它。
我应该在我的代码中更改什么?
| 归档时间: |
|
| 查看次数: |
2300 次 |
| 最近记录: |