异步函数的调用的方法(promise)

2019-02-07  本文已影响0人  HonneyHao
class Db {
    /**
     * 连接数据库
     */
    connect() {/* 返回一个已经连接上具体文档集合的db对象 */
        return new Promise((resolve, reject) => {
            if (!this.dbClient) {/*  通过判断dbClient这一属性,解决每次都重新连接数据库的问题*/
                MongoClient.connect(dbInfo.dbUrl, (err, client) => {
                    if (err) {
                        reject(err)
                    } else {
                        this.dbClient=client.db(dbInfo.dbName)
                        resolve(this.dbClient)
                    }
                });
            }else{
                resolve(this.dbClient)
            }
        })
    }
}

ES6方法调用

db.find.then(d=>{
})

ES7方法调用

let d = await db.find()
//await有阻塞作用,会阻塞程序运行,直到数据返回
上一篇 下一篇

猜你喜欢

热点阅读