UNPKG

@megalo/api

Version:

重新封装各个端中的API,由 megalo 统一对外抛出方法名。目前微信小程序端提供的 API 最为丰富,所以 API 名称以微信小程序为准。

36 lines (31 loc) 664 B
export default class CancelToken { constructor(executor) { if (typeof executor !== 'function') { throw new TypeError('executor must be a function.'); } let resolvePromise; this.promise = new Promise(resolve => { resolvePromise = resolve; }); let token = this; executor(message => { if (token.reason) { return; } token.reason = { message, }; resolvePromise(token.reason); }); } static source() { let cancel; let token = new CancelToken(c => { cancel = c; }); return { token, cancel, }; } }