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 показывает новый).

Почему так происходит и как поправить?
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
ровно наоборот :)

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


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

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

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