Вот мой технический стек
Угловой - 6.1.2
TypeScript - 2.7.2
rxjs - 6.2.2
Воткод для моего метода forkJoin в Angular.Почтовые запросы вызываются в бэкэнде.Но параметры не передаются.
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)
);
Опробовал и этот подход, но я получил тот же ответ.
Observable.forkJoin(this.reqArray).subscribe(
data => {
console.log(data);
},
err => console.error(err)
);
Когда я передаю данные без цикла 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);
});
Но в моем случае мне пришлось бы создать массив URL-адресов на основе нескольких условий, поэтому его статическое добавление невозможно.
Что я должен изменить в своем коде?