首页 > 解决方案 > 从类的方法返回查询结果

问题描述

我不知道这是否可能,因为我已经尽力了,但仍然无法解决这是我的代码

class account {
        constructor(id){
            this.id = id;
            this.solde = this.getSolde();
        }
     
        async getSolde(){
            const result = await con.query('SELECT solde FROM account WHERE id = ?', [this.id])
            return result[0];
        }
    }

当我调用 getSolde() 时,我使用以前尝试过的不同方法(例如 getter、callback)未定义或未完成的承诺,似乎没有一个对我有用,任何人都可以帮助我

提前致谢

标签: javascriptnode.jsnode-mysql

解决方案


getSolde()是异步的,所以你需要等待它。但是你不能在构造函数中这样做,因为它需要被标记为异步,这是无法做到的。

由于您要返回值,因此如果您只是then在承诺上添加 a ,则应该返回它:

constructor(id) {
    this.id = id;
    this.getSolde().then(result => this.solde = result);
}

推荐阅读