angularjs - Javascript/TypeScript: Hur kör man kod direkt efter return-satsen i samma scope?
Först och främst: Är det möjligt? Jag har ett vagt minne av att detta är möjligt, men jag verkar inte kunna formulera min fråga tillräckligt bra för att Google/Stack ska ge mig en idé om vad jag ska göra.
Givet denna kod (transform-funktion inom en egen pipe -Angular 2-):
transform(statuses: Status[], test: string): Status[] {
return statuses.filter(status => status.Id === 1);
//Code to be executed after return has happened
this.updatePager.emit();
}
Hur får jag koden this.updatePager.emit(); att köras direkt efter mitt return-uttryck.
Vänliga hälsningar allihopa. Tips på hur jag kan formulera denna fråga så att jag kan söka vidare tas alltid emot med glädje!
Svar #1
Detta borde fungera.
transform(statuses: Status[], test: string): Status[] {
setTimeout(function(){ this.updatePager.emit(); }, 1000); //Adjust time here.
return statuses.filter(status => status.Id === 1);
}
Svar #2
Detta kan fungera för dig, kör kod i nästa applikationstakt med setTimeout 0.
transform(statuses: Status[], test: string): Status[] {
//Code to be executed in the next tick
setTimeout( ()=> this.updatePager.emit(), 0 );
return statuses.filter(status => status.Id === 1);
}
