2017-03-20 20 views
0

私はasync.parallel関数を使って2つの関数を呼び出す関数を持っています。しかし、私はasync.parallelが使用されているときにエラーを処理する方法を知らない。 2つの関数のうちの1つがエラーをスローすると、どうやってそれらを処理しますか?async.parallelでのエラー処理

あなたが持っている
exports.getProductconfigWithProductList = function(req, res){ 

var apiVersion = req.param('version', null); 
var product_id = req.params.productId; 
dbDriver = determineDriver('es'); 

async.parallel([ 
     function(callback) { 
      dbDriver.getProductconfig(product_id,function(data){ 
       callback(null, data); 
      }); 
     }, 
     function(callback) { 
      var productListPromise = getProductListData(); 
      productListPromise.then(function(data) { 
       callback(null, data); 
      }); 
     } 
    ], 
    function(err, results) { 
     if(!err){ 
      var data = results[0]; 
      data[1] = results[1]; 
      res.send(data); 
      res.end(); 
     } else { 
      console.log('<<<<<<<<<<<<<<'+err+'>>>>>>>>>>>>>>>'); 
      res.send(err); 
      res.end(); 
     } 

    } 
); 
}; 

答えて

1

async.parallel([ 
    func1, 
    func2, 
], (err, data) => { 
    if (err) { 
     // you handle the errors here 
    } 
}); 

これは、ドキュメントで詳細に説明しています:

、ここではGitHub上の問題で:

そう
+0

私は、各関数で定義されたコールバックはどうですか? nullのないコールバック(データ)のみを呼び出すことはできますか? –

+0

エラー処理を実装する方法を知りたい。理論部分ではありません。私はそれらのエラーをどう扱うべきか分かりません。コールバックから 'null'を削除すると、正しく実行されません。 –