@alexbog90

Почему map ничего не возвращает, а mergeMap возвращает ошибку?

console.log в subscribe отображает нужные данные, а console.log в tap() на следующей строке отображает undefined.
Почему map в этом случае не возращает данные дальше?

Если убрать подписку, а map заменить на mergeMap, то mergeMap вернет ошибку "Type 'void' is not assignable to type 'ObservableInput'", хотя здесь возвращается значение, а не void.

Почему так происходит и как пробросить данные из map/mergeMap дальше?

getValues() {
    return this.formValuesService.getValue$()
    .pipe(
      filter(formValues => !!formValues),
      map(formValuesObj => Object.entries(formValuesObj)),
      map(formValuesArr => formValuesArr.filter(el => el[1] === true)),
      // tap(console.log),

      map(arrayOfTrue => arrayOfTrue.forEach(item => this.networkService.getContentItems$(item[0])
        .pipe(
          map(element => [...item, element])
        )
        .subscribe(console.log))),

      tap(console.log),
      takeUntil(this.onDestroy$),
    )
  }
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
@Delagen
Техногик
Почему у тебя map возвращает подписку? что это? .subscribe(console.log))),
Почему? arrayOfTrue.forEach( forEach не возвращает ничего
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы