在es6中,我需要承诺在完成后返回true或false

时间:2016-11-05 15:55:16

标签: javascript ecmascript-6 es6-promise

在es6中,我需要承诺在完成后返回真或假

这是我的尝试,但它会返回一个承诺,我需要它是真或假

return this.isUserAuthenticated()
   .then(() => this.checkIfTeacherProfileExists());  

返回部分必须为true或false。

这是其中一个回报:

  isUserAuthenticated = (): Promise<any> => {
    return new Promise((resolve, reject) => {  
        this.authService.checkIfLoggedIn().then((isAuthUser: boolean) => { 
            resolve(true); 
        });
    }); 
  }  

1 个答案:

答案 0 :(得分:1)

您的回复是持有truefalse的承诺。所以你要做的就是链接另一个.then()来保存布尔值。

return this.isUserAuthenticated()
   .then(() => this.checkIfTeacherProfileExists())
   .then(v => console.log(v)); // true or false  

关于你的评论,请参阅@ FelixKling的评论 - 你不能这样做,这不是承诺的工作方式。