class YtOaidUtils{ private messageQueue: ESObject[] =[] getOaid(){ let oaid = AppStorage.get('OAID') if(!oaid) { let p = new Promise((resolve, reject) => { this.messageQueue.push({resolve, reject}) }) return p } else { return Promise.resolve(oaid) } } setOaid(oaid: string) { AppStorage.setOrCreate('OAID', oaid) this.messageQueue.forEach((item: ESObject) => { item.resolve(oaid) }) this.messageQueue = [] } } export const ytOaidUtils = new YtOaidUtils()