Я написал Эффект ниже для одного HTTP-запроса:
(полезная нагрузка getRequestObj является объектом)
@Effect()
indexDoc$ = this.actions$.pipe(
ofType<IndexDocuments>(myActionTypes2.IndexDoc),
mergeMapTo(this.store.select(getRequestObj).pipe(
take(1)
)),
mergeMap((request: any) => this.myService.indexDoc(request).pipe(
map((response: any[]) => new IndexSuccess(response)),
catchError(error => of(new IndexFail(error)))
))
);
Что мне нужно, так это заполнить эффект массивом и отправить HTTP-запрос для каждого элемента в массиве. Что я пробовал:
(полезная нагрузка getRequestArray представляет собой массив объектов)
@Effect()
indexDocs$ = this.actions$.pipe(
ofType<indexDocs>(myActionTypes1.IndexDocs),
concatMapTo(this.store.select(getRequestsArray)),
concatMap((request: any[]) => {
return zip(...request.map(item => {
return this.myService.indexDocs(item).pipe(
map(response => {
return this.store.dispatch(new IndexSuccess(response))
}),
catchError(error => {
return Observable.of(this.store.dispatch(new IndexFail(error)));
})
)
}))
})
Что происходит, все запросы возвращают ошибку 412 Precondition Failed. Как мне заставить это работать должным образом?