node中Promise也被嵌套了

1.

假如有两个mongodb集合,一个是users,一个是posts,在posts列表中展示对应的users信息,常规异步处理嵌套太多.就使用Promise来解决,发现,promise解决时也有一个问题.

2. 解决代码如下

//封装查询一条函数

findOneData = function(db, colName, data) {

    return new Promise(function(reslove, reject) {

        db.collection(colName).find(data).toArray(function(err, data) {

            if (err) {

                console.log("数据查询错误" + err);

                reject(err);

                return;

            }

            reslove({ db: db, data: data });

        });

    });

};


db_conn()

    .then(function(db) {

        return findOneData(db, "test", {});

    })

    .then(function(data) {

        console.log(data);

    });

这样的方法是否正确?貌似是解决了,但是总感觉哪里不对,,,

当年话下
浏览 442回答 1
1回答

隔江千里

db_conn()    .then(db => findOneData(db, "test", {}))    .then(data => console.log(data));这样看起来是不是要顺眼些?(async function() {    const db = await db_conn();    const data = await findOneData(db, "test", {});    console.log(data);})();这样是不是更顺眼些?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript