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

从类中使用JavaScript异步等待

运维笔记admin7浏览0评论

从类中使用JavaScript异步/等待

从类中使用JavaScript异步/等待

我有一个JavaScript类,我试图找出如何使用新async/await关键字的连接方法。

module.exports = class {
    constructor(url) {
        if(_.isEmpty(url)) {
            throw `'url' must be set`;
        }

        this.url = url;
        this.client = new MongoClient(url, {
            useNewUrlParser: true
        });
    }

    connect() {
        this.client.connect(async (error) => {
            if(error) {
                throw error;
            }
        });
    }
};

基本上我想等到connect()从回调返回。我加async回调的前面,但不要我需要一个await声明呢?我正在从一个Node.js的UnhandledPromiseRejectionWarning

回答如下:

如果连接是一个异步函数/返回一个承诺,那么你可以,如果你从一个异步函数中调用它,像这样等待召唤:

async connect() {
        await this.client.connect(async (error) => {
            if(error) {
                throw error;
            }
        });
    }
发布评论

评论列表(0)

  1. 暂无评论