Я пытаюсь реализовать метод cancelToken API, чтобы всякий раз, когда я делаю запрос к серверу для получения результатов при каждом нажатии клавиши, должен обрабатываться только последний запрос, однако я реализовал API token ios cancel token и кажется, чтобы отменить каждый запрос, что я здесь делаю не так? Эта функция вызывается при каждом нажатии клавиши.
getProductLists2 = async () => {
let formData = new FormData()
const { start, limit } = this.state
formData.append('start', start)
formData.append('limit', limit)
formData.append('product_title', this.state.searchTitle)
formData.append('product_sku', this.state.searchSKU)
let cancel;
Axios({
method: 'POST',
url: BASE_URL + '/listProduct',
// headers: { 'Content-Type': 'multipart/form-data' },
data: formData,
cancelToken: new Axios.CancelToken(c => cancel = c)
})
.then(products => {
if (products && products.data.productList && products.data.productList.length > 0) {
this.setState({ productList: products.data.productList, totalProducts: products.data.productTotal })
}
})
.catch(err => toast.error('Something went wrong'))
console.log(cancel, 'h')
cancel && cancel()
}