2017-07-06 49 views
1

我正在使用sails和连接两个数据库mysql和mongo与我的应用程序,我被卡在必须promisify sailsjs mongo适配器的.native功能。如何将mongo的原生函数转化为蓝鸟许诺?

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; 
     } 

    }); 
}); 

我希望这个函数能够和蓝鸟一起实现promisified。任何帮助?

回答

0

你总是可以换一个承诺内,并继续使用诺逻辑是这样的:

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() ....