You've already forked guangan-mp
23 lines
384 B
JavaScript
23 lines
384 B
JavaScript
const PROMISE = Symbol('$$promise')
|
|
|
|
export default class Fetcher {
|
|
get [Symbol.toStringTag]() {
|
|
return '[object Fetcher]'
|
|
}
|
|
|
|
constructor() {
|
|
this[PROMISE] = new Promise((resolve, reject) => {
|
|
this.resolve = resolve
|
|
this.reject = reject
|
|
})
|
|
}
|
|
|
|
async source() {
|
|
return this[PROMISE]
|
|
}
|
|
|
|
async abort() {
|
|
;(await this.source())?.abort()
|
|
}
|
|
}
|