【问题标题】:How to prmisify .native function of mongo into bluebird promise?如何将 mongo 的 .native 功能 prmisify 为 bluebird promise?
【发布时间】:2017-12-10 15:55:47
【问题描述】:

我正在使用sails并将两个数据库mysql和mongo与我的应用程序连接起来,我被困在我必须承诺sailsjs mongo适配器的.native函数的地方。

Activities.native(function(err, activities) {
  if (err) return res.serverError(err);
  activities.find({}).toArray(function (err, results) {
        if (err){
          return err;
        }else{
          console.log(results);
          return results;
        }

     });
});

我希望这个功能被 bluebird 所承诺。有什么帮助吗?

【问题讨论】:

    标签: node.js mongodb promise sails.js bluebird


    【解决方案1】:

    你总是可以将它包装在一个 Promise 中并继续使用这样的 Promise 逻辑:

    function doTheNativeQuery() {
        return new Promise(function (resolve, reject) {
    
            Activities.native(function (err, activities) {
                if (err) return reject(err);
    
                activities.find({}).toArray(function (err, results) {
                    if (err) return reject(err);
    
                    resolve(results);
                });
            });
        });
    }
    
    
    doTheNativeQuery().then() ....
    

    【讨论】:

      猜你喜欢
      • 2021-12-07
      • 1970-01-01
      • 2017-01-06
      • 2016-03-20
      • 1970-01-01
      • 2016-05-21
      • 2015-04-01
      • 1970-01-01
      • 2021-12-09
      相关资源
      最近更新 更多