2017-07-17 6 views
0

私はmongooseクエリを実行して、bluebirdのような別のライブラリをインストールせずにコンソールに書き込もうとしています。私はドキュメントでこれを見つけることができませんでした。ここでどうやってconsole.logに* bluebirdを使わないで質問する*

はクエリです:

function activityH(){ 
     return setRecords.find({'item.title': 'marzipan'} 
            , 'item.title item.quantity').exec(); 
    } 

そして、私はそれを呼び出していたコンテキスト:

....[a bunch of promises].then(activityF).then(activityG).then(activityH).then(function(doc){console.log(doc);}); 

前の活動のすべてが完了しているが、何もしても、私のクエリがすべきかかわらをログに記録されていません結果があります。私はこれが非常に基本的な質問だと思っていますが、私は解決策を見つけるために何時間も探しましたが、これが重複している場合、元の答えは検索するのが非常に難しいです!

これを行うには絶対にブルーバードが必要ですか?例えば。このblog post ありがとう

答えて

0

あなたに役立つ小さなログ機能ラッパーを書くことができます。何かのように

function log(data) { 
    console.log(data); 
    return data; 
} 

Promiseのチェーンを追加します。あなたには、いくつかのデフォルトのメッセージングを使用する場合は

....[a bunch of promises] 
    .then(log) 
    .then(activityF) 
    .then(log) 
    .then(activityG) 
    .then(log) 
    .then(activityH) 
    .then(log) 

あなたはまた、メッセージ文字列

function log(msg) { 
    return function(data) { 
     console.log(msg, data); 
     return data; 
    } 
} 

を渡すことができます。そして同様にチェーンに追加します。

activityA() 
    .then(log('activityA')) 
    .then(activityB) 
    .then(log('activityB')) 
関連する問題