У меня есть массив данных / идентификаторов объектов, полученных в качестве параметра в функции, где я должен выполнить запрос post для каждого элемента / id:
fillProfile(users) {
const requests = [];
console.log( 'USERS.length:', users.length );
requests.push( this.http.post( '/test/add', users[i] ) );
for ( let i = 0; i < users.length; i++) {
return this.http.post( '/test/add', users[i] ).pipe(
map( (res) => {
console.log( 'res: ', res );
return res;
}),
catchError(err => {
return throwError(err);
})
);
}
Это работает, но это не очень хорошая практика, и поэтому Тариф, который я искал, это можно сделать через forkJoin или другими операторами. Пробовал эти варианты / ответы, найденные в SO, но, к сожалению, ни один из них не работал.
Один вариант, который я пробовал, который не работает:
....
return from(requests2).pipe(
concatMap((request) => request.pipe(
delay(500),
map( res => {
// console.log( 'res: ', res );
return res;
})
))
);
Любая идея, как выполнить несколько запросов а также получить ответ и ошибку каждого отдельно в лучшем подходе?