最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

从类中使用JavaScript异步等待

IT培训 admin 4浏览 0评论

从类中使用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;
            }
        });
    }

从类中使用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. 暂无评论