Rxjs с Axios Http Получить, выполнить код после завершения запроса - PullRequest
1 голос
/ 28 мая 2019

У меня есть приложение Vue, использующее TypeScript, Rxjs и Axios.

После выполнения запроса http get я хочу выполнить некоторый код, например, чтобы скрыть индикатор загрузки. Какой лучший способ сделать это, используя Rxjs? Я знаю, что подписываюсь на поток данных здесь. Будет ли обещание лучше?

У меня сейчас есть код ниже ...

Axios.get<Array<account>>(`https://localhost:5003/api/accounts`)
      .pipe(
        concatMap(response => response.data),
        filter(response => filerFunction(response))
      )
      .subscribe(
        response => {this.tableData.push(response); console.log('response: ' + response)},
        error => console.log(error)
      );

1 Ответ

0 голосов
/ 28 мая 2019

Я разобрался. Вы можете использовать оператор Finalize или функцию Complete ...

Axios.get<Array<account>>(`https://localhost:5003/api/accounts`)
  .pipe(
    mergeMap(response => response.data),
    filter(response => filerFunction(response)),
    finalize(()=>{console.log("stop spinner in this function")})
  )
  .subscribe(
    response => this.tableData.push(response),
    error => console.log(error),
    () => console.log("or stop spinner in this function")
  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...