2016-11-13 4 views
0

У меня возникают проблемы при вложении двух функций. Вторая функция выполняется до завершения первого. У меня есть два метода:Асинхронные функции в машинописном/угловом 2

doLogin() { 
    return this.authService.doLogin(); 
} 
toLogin(){ 
    this.router.navigateByUrl("/secure"); 
} 

Первая функция doLogin() занимает некоторое время из-за сервиса. Как я могу сделать вторую функцию, toLogin() выполнить только после завершения doLogin() и возвращает true (используя обещания или обратные вызовы)?

Я новичок в угловом и javascript, поэтому, пожалуйста, будьте осторожны в своем объяснении.

Cheers!

ответ

0

используя обещание

doLogin() { 
    return this.authService.doLogin().then(function(result){ 
     toLogin(); 
    }); 
} 

вам нужно вернуть обещание в this.authService.doLogin()