2017-07-06 47 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() ....