axios
?中用于取消請(qǐng)求
CancelToken.source()
const?source?=?axios.CancelToken.source();//這里初始化source對(duì)象axios.get('/user/12345',?{
??cancelToken:?source.token
}).catch(function(thrown)?{??if?(axios.isCancel(thrown))?{
????console.log('這里判斷請(qǐng)求是被取消的',?thrown.message);
??}?else?{????//?handle?error
??}
});source.cancel('取消請(qǐng)求?會(huì)被catch捕捉到');
source
?方法是CancelToken
的一個(gè)工廠方法
CancelToken.source?=?function?source()?{??var?cancel;??var?token?=?new?CancelToken(function?executor(c)?{
????cancel?=?c;
??});??return?{
????token:?token,
????cancel:?cancel
??};
};
CancelToken
const?CancelToken?=?axios.CancelToken;let?cancel;
axios.get('/user/12345',?{??cancelToken:?new?CancelToken(function?executor(c)?{????//?An?executor?function?receives?a?cancel?function?as?a?parameter
????cancel?=?c;
??})
});//?cancel?the?requestcancel();