把你的请求做成可以取消的, 这里的取消不是取消发送。 因为请求已经发送了,没有办法终止的。
所谓的取消其实就是取消回调函数, 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;
},
};
};