У меня есть:
function testURL(url) {
return axios.post(`http://localhost:4000/api/test`, { url } )
}
onChangeDestination(url, index) {
this.setState(prevState => {
const rules = [...prevState.rules];
const url_status = "Checking"
rules[index] = { ...rules[index], url, url_status};
return { rules };
});
if (isURL(url+'')) {
testURL(url).then(r=> {
var url_status = r.data.response
this.setState(prevState => {
const rules = [...prevState.rules];
rules[index] = { ...rules[index], url_status};
return { rules };
});
})
} else {
this.setState(prevState => {
const rules = [...prevState.rules];
var url_status = "No URL"
rules[index] = { ...rules[index], url_status};
return {rules};
});
}
};
Итак, у меня есть текстовый ввод для URL, который на onChangeDestination
(то есть нажатие клавиши) выполняет обратный вызов и проверяет, разрешается ли URL (url_status
),Это похоже на то, как работает мгновенный поиск Google.Проблема, с которой я сталкиваюсь, заключается в том, что иногда ответы на axios могут поступать не по порядку, то есть окончательный url_status
не обязательно является последним нажатием клавиши.
Я пытаюсь понять, как использовать отмену axiosAPI, но я изо всех сил пытаюсь понять, как его структурировать.Что имеет смысл в качестве токена отмены и где его хранить?