Отмененные запросы Axios не могут быть перезапущены - PullRequest
0 голосов
/ 26 ноября 2018

Я отменяю запросы axios, когда компонент размонтируется следующим образом

const CancelToken = axios.CancelToken
const source = CancelToken.source()

componentWillUnmount () {
 source.cancel('message')
}

Когда компонент размонтирован, сетевые запросы, происходящие в фоновом режиме, помечаются как «остановленные».Проблема в том, что когда пользователь снова обращается к этому компоненту, сетевые запросы, которые должны выполняться в componentDidMount, не запускаются.

1 Ответ

0 голосов
/ 27 ноября 2018

axios # cancellation описывает два способа использования cancelToken.Вы использовали первый способ, с source.token / source.cancel.Я начинал таким образом, и у меня была такая же проблема, как и у вас: после отмены запроса на определенный URL я больше никогда не мог получить успешный ответ с этого URL.Я переключился на второй метод, используя функцию executor, и проблема ушла.Я предполагаю, что разделял один и тот же cancelToken для нескольких запросов, что, как они говорят, вы можете сделать с помощью метода функции executor.В любом случае, возможно, это сработало бы и для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...