最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何解决'它想在var中设置一个值,但是得到一个Promise {}'

运维笔记admin7浏览0评论

如何解决'它想在var中设置一个值,但是得到一个Promise {
}'

如何解决'它想在var中设置一个值,但是得到一个Promise { }'

(对不起我的英语,但是我正在学习:D)

[大家好,我是node和js的初学者,我想在我的数据库类上创建一个'getPendingKYC'函数,但是当我执行该函数时,我总是收到Promise {},但是我想接收直接查询的结果而无需使用.then在我的变量上管理承诺...我只想在调用函数时在类外的var上获取函数结果的值。

//

//这是脚本页面

const { Client } = require('pg');


class Db {
    constructor() {
        this.client = this.dbConnect();
    }

    dbConnect() {
        return new Client({
            user: 'xxxxxxxxxxx',
            host: 'xxxxxxxxxxx',
            database: 'xxxxxxxxxxx',
            password: 'xxxxxxxxxxx',
            port: 'xxxxxxxxxxx'
        });
    }

    async getPendingKyc() {
        this.client.connect();
        let data = await this.client.query('SELECT * FROM users')
        this.client.end();
        return data.rowCount;
    };
};

const db = new Db();
let data = db.getPendingKyc();
console.log(data);

如果我在db.getPendingKyc()之前放置“ await”,则会收到下一个错误:


让数据=等待db.getPendingKyc();^^^^^

SyntaxError:等待仅在异步功能中有效


如果我将.then放在db.getPendingKyc()之后,我可以正确显示该值,但是我希望将其放在不执行此操作的var中。

¿我如何做才能直接在var上获得与他一起工作的价值,而无需在课堂上处理承诺?

回答如下:

当没有异步功能时,您可以做...

const db = new Db();
db.getPendingKyc().then(function(data) {
    console.log(data);
}
发布评论

评论列表(0)

  1. 暂无评论