have a notification animation where I show a popup-like window that is closed (reverse animation) when clicked on the close button. If there is another notification, it waits for 1.5s and plays the animation.
I m using async/Await with a promise. The thing does not seem to work. It keeps executing instantly therefore, I don't the animation playing.
Here is my code in typescript
async waitAsync() { return new Promise<boolean>((resolve, reject)=> {delay(1500); resolve(true);}); } // called on close button click toggleNotif() { this.hide = true; this.animateWithdraw = true; this.toggleAnimation(); this.currentIdx++; this.checkForNextAlert(); } // checks for new notification and plays the animation consequently. checkForNextAlert() { if (this.currentIdx < this.maxProjToAlert) { console.log(this.projectsToAlert[this.currentIdx].name); this.setAlertMsg(this.projectsToAlert[this.currentIdx].name); (async()=> { const val = await this.waitAsync(); this.animateWithdraw = false; this.toggleAnimation(); })(); // tslint:disable-next-line:no-console // this.animateWithdraw = await NotificationComponent.waitFunction(); // tslint:disable-next-line:no-console } } // Affects some CSS class so the css3 animation gets played. toggleAnimation():string { if(!this.animateWithdraw) { return 'notif notifAnimate'; } return 'notif notifWithdraw'; }