2016-09-10 5 views
1

NPM Bluebird Promiseライブラリパッケージには、Mongooseの約束を実装する2つの方法があります。これら2つの違いは何ですか?対マングースの違いは何ですか?PromiseとpromisifyAll?

let bluebird = require('bluebird'); 
let mongoose = require('mongoose'); 
bluebird.promisifyAll(mongoose); 

let bluebird = require('bluebird'); 
let mongoose = require('mongoose'); 
mongoose.Promise = bluebird; 

答えて

1

promisifyAllブルーバード特定の方法で自動的に約束にマングースのコールバック APIに変換します。 のライブラリで標準的なコールバックを返し、オブジェクト(およびモンゴーズだけでなく)を使用し、bluebirdによって作成されます。

mongoose.Promiseは、約束を使うための標準的なモンゴースの方法です。それは、のの後に追加され、マングース固有です。それはまた少し遅いですハハ! 012bがpromiseの実装で動作するため、promisifyAllがpromiseコンストラクタを使用する必要がないため、ブルーバードラッパーよりもが優先されます。

ほとんどのシナリオでは、.Promise = bluebirdの両方で、機能名に接尾辞Asyncを追加する必要がないという利点があります。

関連する問題