UNPKG

@coze/taro-api

Version:

Official Coze Taro SDK for seamless AI integration into your applications | 扣子官方 Taro SDK,助您轻松集成 AI 能力到应用中

32 lines (31 loc) 972 B
import { Events } from '@tarojs/taro'; export class AbortSignalPonyfill { events = new Events(); aborted = false; reason; onabort(reason) { this.aborted = true; this.reason = reason; this.events.trigger('abort'); } addEventListener(_, cb) { this.events.on('abort', cb); } removeEventListener(_, cb) { this.events.off('abort', cb); } } export class AbortControllerPonyfill { signal = new AbortSignalPonyfill(); abort(reason) { this.signal.onabort(reason); } } // globalThis is undefined duriing initialization in Bytedance mini program const supportAbortController = typeof (globalThis || window).AbortController === 'function'; export const AbortController = supportAbortController ? (globalThis || window).AbortController : AbortControllerPonyfill; export const AbortSignal = supportAbortController ? (globalThis || window).AbortSignal : AbortSignalPonyfill;