把你的請求做成可以取消的, 這里的取消不是取消發送。 因為請求已經發送了,沒有辦法終止的。
所謂的取消其實就是取消回調函數, react官方給出了一種最佳實踐。const?makeCancelable?=?(promise)?=>?{??let?hasCanceled_?=?false;??const?wrappedPromise?=?new?Promise((resolve,?reject)?=>?{
promise.then(??????val?=>?hasCanceled_???reject({isCanceled:?true})?:?resolve(val),
error?=>?hasCanceled_???reject({isCanceled:?true})?:?reject(error)
);
});??return?{????promise:?wrappedPromise,
cancel()?{
hasCanceled_?=?true;
},
};
};