2016-10-09 9 views
1

モデルのコールバック内にすべてのモデルを配置できますが、そのような種類のものは読みにくいです。私は非同期と呼ばれるnpmを見つけましたが、私はそれをどのように使用するか分かりません。モンゴースコントローラ/モデルで非同期を使用する

User.find({ 
    "email":req.body.user_email 
    }), 
    function(err,response){ 
     if(!err){ 
      res.json(response); 
     } 
    }) 

AnotherModel.find(), 
    function(err,response){ 
     if(!err){ 
      res.json(response); 
     } 
    }) 

私はドキュメントを読んだが、わかりません。

async.parallel([ 
    function(callback){ ... }, 
    function(callback){ ... } 
], function(err, results) { 
    // optional callback 
}; 

何私が欲しいのは最後に、私はちょうど私が複数のモデルからのデータをマージした後、ONE res.jsonを行うと、フロントエンドに送信する必要があります。あなたはこの原因の約束を使用して考えがあり

+0

のようにそれを使用してください。コードははるかにクリーンになります。あなたの機能を約束し、.settleや.propsを使ってあなたが望むことを達成することができるノードjsの青い鳥をチェックしてください。 – nmargaritis

+0

@nmargaritis aysncもnpmモジュールです –

答えて

0

この

async.parallel([ 
    function(callback) { 
    User.find({ 
     "email": req.body.user_email 
     }), 
     function(err, response) { 
     if (!err) { 
      callback(null,response) 
     } 
     }) 
}, 
function(callback) { 
    AnotherModel.find(), 
    function(err, response) { 
     if (!err) { 
     callback(null,response) 
    }) 

}], 
function(err, results) { 
    if(!err){ 
    res.json(results); 
    // You will get array of results in your results agrs 
    } 
}; 
関連する問題