На самом деле, у меня есть последовательные шаги и я использую switchMap в эффекте store. Я хотел бы получить значение из магазина и получить его в switchMap. Я пробовал, как показано ниже, но мне не удалось вместо этого получить желаемое значение типа
Фактический результат: var клиенты: любые
Ожидаемые результаты: клиентов в магазине должен иметь тип getClients.
В коде я хочу получить значение от withLatestFrom до switchMap в следующей строке кода. Прокомментировано в коде как TODO.
@Effect()
loadInResponse$ = this.actions.ofType(fromActions.LOAD_IN).pipe(
withLatestFrom(this.store.select(getNqResponse)),
switchMap(([action, nq]) => {
if (nq.httpStatus === 'OK') {
withLatestFrom(this.store.select(getClients)), //TODO here
switchMap(([action,clients]) => { //TODO here
var i;
var result = [];
console.log(clients);
for (i = 0; i < clients.length; i++) {
result[i] = clients.map(a => a.no);
}
return this.cinReuseService.InCall(result).pipe(
switchMap(responseIn => [
new fromActions.LoadInSuccess(responseIn),
new fromActions.LoadService()
]),
catchError(error => {
let err: responseService = {
status: "FALSE",
message: error
}
return of(new fromActions.LoadInFail(err))
})
)
})
} else {
let err: responseService = {
status: "FALSE",
message: nq.message
}
return of(new fromActions.LoadInFail(err))
}
})
)
Я получаю сообщение об ошибке, как показано ниже:
«Вы указали undefined там, где ожидался поток. Вы можете указать Observable, Promise, Array или Interable ".
Я был бы очень признателен за помощь. Спасибо!