Skip to content

Instantly share code, notes, and snippets.

@QuarkGluonPlasma
Last active April 7, 2021 10:41
Show Gist options
  • Save QuarkGluonPlasma/d0d774bd544006c1194c8547bdafc6ba to your computer and use it in GitHub Desktop.
Save QuarkGluonPlasma/d0d774bd544006c1194c8547bdafc6ba to your computer and use it in GitHub Desktop.
可取消的promise
function cancable(p) {
var cancel;
var promise = new Promise((resolve, reject) => {
p.then(resolve, reject);
cancel = reject;
});
return {
promise: promise,
cancel: cancel
};
};
const { promise, cancel } = cancable(p);
promise.then(() => {
console.log('sucess');
}).catch((msg) => {
console.log(msg);
})
cancel('cancel');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment