Как сделать обратный вызов в Angular TypeScript? - PullRequest
0 голосов
/ 26 апреля 2018

У меня много результатов поиска, но я до сих пор не совсем понимаю. У меня есть две функции:

roulette_animation(){
do animation (might take 5 sec)
}
alertResult(){
alert('You win')
}

Я хочу, чтобы функция alertResult() выполнялась после завершения функции roulette_animation().

roulette_animation выполняется библиотекой js, которая не содержит state, указывает, что анимация завершена или нет.

Я точно знаю результат заранее, затем начинается анимация, которая даст мне желаемый результат. Но в настоящее время предупреждение появится первым. Я исправляю это, чтобы установить задержку между двумя функциями (я могу контролировать продолжительность анимации). Но это не разумно, поскольку разные браузеры могут загружать анимацию с разной скоростью.

Я знаю, что подробности кода помогут, но они слишком велики. Если это то, что я должен добавить в js, я сделаю это. Но я все еще хочу спросить, есть ли способ решить эту асинхронную проблему?

1 Ответ

0 голосов
/ 26 апреля 2018

почему вы не используете реактивное программирование ??

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

animation
  .subscribe(() => alertResult());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...