Delay for router in Angular2

Issue

I have this code, which have 2 functions:
say() will play the music (is implemented and it works)
and router leads to next page (it works also)

go_next() {
     this.say(); // audio
     this.router.navigate( ['app'], { queryParams: { 'part': this.part+1 } } ); //go to next page 
}

But what I would like to do is to play music (it takes 5 sec) and then to go to the next page…how could I implement this?..I guess, I have to implement some kind of delay, but I can’t find such parameter by router.navigate.

Solution

setTimeout(function, milliseconds) Executes a function, after waiting
a specified number of milliseconds.

go_next(){
    setTimeout(() => {
        this.router.navigate(['app'], {queryParams: {'part': this.part + 1}})
      }
      , 5000);
}

Answered By – Rahul Singh

Answer Checked By – Mildred Charles (AngularFixing Admin)

Leave a Reply

Your email address will not be published.