如何在Angular typeScript中进行回调?

如何在Angular typeScript中进行回调?,typescript,Typescript,我通过搜索得到了很多结果,但我还是不太明白。 我有两个职能: roulette_animation(){ do animation (might take 5 sec) } alertResult(){ alert('You win') } 我希望alertResult()函数在roulette\u animation()函数完成后发生 roulette\u动画由js库完成,该库不包含状态表示动画是否已完成 我事先肯定知道结果,然后动画开始,这将给我我想要的结果。但当前警报将首先弹出。我解决这

我通过搜索得到了很多结果,但我还是不太明白。 我有两个职能:

roulette_animation(){
do animation (might take 5 sec)
}
alertResult(){
alert('You win')
}
我希望
alertResult()
函数在
roulette\u animation()
函数完成后发生

roulette\u动画
js
库完成,该库不包含
状态
表示动画是否已完成

我事先肯定知道结果,然后动画开始,这将给我我想要的结果。但当前警报将首先弹出。我解决这个问题的方法是在两个函数之间设置一个时间延迟(我可以控制动画的持续时间)。但这并不明智,因为不同的浏览器可能以不同的速度加载动画


我知道更多的代码细节会有所帮助,但它太大了。如果这是我必须在
js
中添加的内容,我会这样做。但我还是想问,有没有办法解决这个问题?

为什么不使用反应式编程

const animation = (): Observable<boolean> => Observable.of(doAnimation());

animation
  .subscribe(() => alertResult());
const animation=():Observable=>Observable.of(doAnimation());
动画
.subscribe(()=>alertResult());

一个基于javascript的动画
如果你想要一个有用的答案,需要更多的代码。这显然是异步执行,但“做动画”是不够的。代码是巨大的。。。我想了解的是,我是否可以确保某些函数按顺序发生?根据SO指南提供一个最小的可验证示例。如果它是您自己的动画库,则您需要从调用中返回一个承诺,该承诺在动画完成执行后得到解决。如果你想得到进一步的帮助,你需要提供一个帮助。