axios cancel
v0.2.2
Упростите отмену http-запросов при использовании потрясающей библиотеки axios.
Использование НПМ:
npm install axios-cancel --save
axios-cancel
упрощает интерфейс API отмены, представленный в axios v1.5, который основан на предложении об отмене обещаний.
import axios from 'axios' ;
import axiosCancel from 'axios-cancel' ;
axiosCancel ( axios , {
debug : false // default
} ) ;
...
// Single request cancellation
const requestId = 'my_sample_request' ;
const promise = axios . get ( url , {
requestId : requestId
} )
. then ( ( res ) => {
console . log ( 'resolved' ) ;
} ) . catch ( ( thrown ) => {
if ( axios . isCancel ( thrown ) ) {
console . log ( 'request cancelled' ) ;
} else {
console . log ( 'some other reason' ) ;
}
} ) ;
axios . cancel ( requestId ) ;
// aborts the HTTP request and logs `request cancelled`
Несколько последующих запросов с одинаковым requestId
...
const requestId = 'my_sample_request' ;
const promise1 = axios . get ( url , {
requestId : requestId
} )
. then ( ( res ) => {
console . log ( 'resolved promise 1' ) ;
} ) . catch ( ( thrown ) => {
if ( axios . isCancel ( thrown ) ) {
console . log ( 'request 1 cancelled' ) ;
} else {
console . log ( 'some other reason' ) ;
}
} ) ;
// another request with same `requestId`, before `promise1` resolution
const promise2 = axios . get ( url , {
requestId : requestId
} )
. then ( ( res ) => {
console . log ( 'resolved promise 2' ) ;
} ) . catch ( ( thrown ) => {
if ( axios . isCancel ( thrown ) ) {
console . log ( 'request 2 cancelled' ) ;
} else {
console . log ( 'some other reason' ) ;
}
} ) ;
// aborts the first HTTP request, and cancels the first promise
// logs `request 1 cancelled`
// logs `resolved promise 2`
Несколько запросов с разными requestId
, отменить все
...
const requestId1 = 'my_sample_request_1' ;
const promise1 = axios . get ( url , {
requestId : requestId1
} )
. then ( ( res ) => {
console . log ( 'resolved promise 1' ) ;
} ) . catch ( ( thrown ) => {
if ( axios . isCancel ( thrown ) ) {
console . log ( 'request 1 cancelled' ) ;
} else {
console . log ( 'some other reason' ) ;
}
} ) ;
const requestId2 = 'my_sample_request_2' ;
const promise2 = axios . get ( url , {
requestId : requestId2
} )
. then ( ( res ) => {
console . log ( 'resolved promise 1' ) ;
} ) . catch ( ( thrown ) => {
if ( axios . isCancel ( thrown ) ) {
console . log ( 'request 2 cancelled' ) ;
} else {
console . log ( 'some other reason' ) ;
}
} ) ;
axios . cancelAll ( ) ;
// aborts all HTTP request, and cancels all promises
// logs `request 1 cancelled`
// logs `request 2 cancelled`
axiosCancel(пример: axios[, options])
параметры
axios.cancel(requestId: строка[, причина: строка])
axios.cancelAll([причина: строка])
Массачусетский технологический институт