javascript - 等到 promise 完成后返回 true 或 false

标签 javascript angular typescript

我想在一个方法中等待直到 promise 返回。

public loginOffline(username: string, password: string) {
    return this.database.getItem('currentUser', 'login').then(data => {
        this.userLogin = data;
        console.log(username + ' ' + this.userLogin.username + ' ' + password + ' ' + this.userLogin.password);
        if (username === this.userLogin.username && password === this.userLogin.password) {
            return true;
        } else {
            return false;
        }
    }).catch(err => {
        return false;
    });

}

/********* call the method and descide what to do **************/
if (loginOffline('myname', 'mypassword'){
    // Do something.....
} else {
    // Do something else .....
}
......

这行不通。调用此 loginOffline 方法的方法只是想知道登录是否成功。我尝试了很多事情,但没有成功。

谁能帮忙。非常感谢 干杯

最佳答案

您只需将 promise 与另一个 then 链接起来。 这样调用:

loginOffline('myname', 'mypassword').then(result =>{
   if(result){
     //do something
   }else{
     //do something else
   }
})

更多关于 promise chaining

关于javascript - 等到 promise 完成后返回 true 或 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44322947/

相关文章:

javascript - 输入元素的 Angular 2 焦点和模糊

javascript - 在单击任何对象之前,Angular 2 不会更新

angular - 设置 Cookie header 未出现在 Google Chrome 中

javascript - 将应用程序从 Angular 5 更新到 Angular 8 会导致样式问题

angular - ng test 要求我在运行任何单元测试之前修复所有 linting

typescript - 如何在带有 typescript 的 vue.js 中使用 javascript 组件?

javascript - 获取 PushManager 订阅时出错 - JavaScript

javascript - 检测 Command + C 按键

javascript - 如何自定义 Angular JS UI Bootstrap 日期选择器仅用于选择日期?

javascript - 如何在基于 angularjs 的项目中动态更改 uploadcare 小部件中的语言环境