Задать вопрос
Millerish
@Millerish

RxJs: как отправить запрос с новыми данными?

Доброе время суток!

У меня есть такой код:

contractState = this.http.get(this.apiGetAddressData.getValue().href).pipe(
    repeatWhen(() => this.contractRefresh$),
    switchMap((data: ContractDataModel) => {
      console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!',this.apiGetAddressData.getValue().href, data)
      ...
    }),
    ...


Я изменяю apiGetAddressData и отправляю событие contractRefresh$, но запрос уходит всегда по старому url(хотя console.log показывает новый).

Почему так происходит и как поправить?
  • Вопрос задан
  • 70 просмотров
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    WEB-022 Разработка на Angular. Продвинутый уровень
    1 неделя
    Далее
  • Учебный центр IBS
    WEB-007 Разработка на JavaScript
    1 неделя
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
ровно наоборот :)

this.contractRefresh$.pipe(
  switchMap(() => this.apiGetAddressData),
  switchMap(addressData => this.http.get(addressData.href)),
  ....
)


однако при такой организации запрос будет выполнен как при эмите this.contractRefresh$, так и при эмите this.apiGetAddressData, что я думаю приемлемо в вашем случае.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы