UNPKG

@cloudbase/utilities

Version:
21 lines (18 loc) 466 B
export default class AbortController { listeners: Array<CallableFunction> = [] signal = { aborted: false, addEventListener: (e: string, f: CallableFunction) => { if (e === 'abort') { this.listeners.push(f) } }, } // eslint-disable-next-line @typescript-eslint/no-useless-constructor constructor() {} abort() { if (this.signal.aborted) return this.signal.aborted = true this.listeners.forEach(f => f()) } }