Я использую почтовый запрос для получения некоторых значений с сервера, но когда пользователь выходит из системы, мне нужно отменить ранее инициированные запросы к серверу.
Я использую Ax ios библиотека для выполнения запросов ax ios - npm.
Я запускаю запрос на публикацию следующим образом:
class CancelService extends InternetService {
async triggerPostRequest(params), {
const response = await axios.post(`request`, params, {
headers: {
Accept: 'application/json',
'x-access-token': 'abcd',
'Content-Type': 'application/json',
},
cancelToken: this.manager.source.token,
});
const jsReponse = response.data;
if (response.status === 200) {
jsReponse.success = true;
return jsReponse;
}
return {
success: 'fail',
message: response.message,
};
}
И когда пользователь выходя из приложения, я отменяю и обновляю токен ax ios следующим образом.
const cancelService = new CancelService();
cancelService.cancelRequests();
cancelService.initilize();
Класс CancelService выглядит следующим образом:
class CancelService extends InternetService {
cancelRequests = () => {
if (this.manager && this.manager.source) {
this.manager.source.cancel({ message: 'all request cancelled.' });
}
};
Но это кажется, что запросы не отменяются, учитывая, что при входе в систему со следующим пользователем загружаются результаты предыдущего запроса.
ОБНОВЛЕНИЕ:
У меня нет доступа, чтобы изменить бэкэнд, а также код унаследован, он делает несколько вызовов подряд, и я тоже не могу это изменить.