循环中的async.parallel抛出未处理的承诺拒绝

时间:2017-12-01 19:56:51

标签: node.js mongoose callback promise async.js

我在一个大型mongoDB集合(~500MG)的游标内对mongoDB执行了几个findOne()查询。

我在做:

var batchSize = 100;
var cursor = Col1.find().lean().cursor({batchSize: batchSize});
cursor.on('data', function (result) {
    var parm1 = result.parm1;
    var parm2 = result.parm2;
    async.parallel([
        function(callback){
            Coll3.findOne({a: parm1}).then(Col3Res=>{
               callback(null,Col3Res);
            });
        },
        function(callback){
            Coll2.findOne({a: parm2}).then(Col2Res=>{
               callback(null,Col2Res);
            });
        }
    ], function(err,results){

    });
});

对于每个callback()调用,我也在async.parallel上收到以下错误:

  

(node:127588)UnhandledPromiseRejectionWarning:未处理的承诺   rejection(拒绝ID:125):错误:已经调用了回调。

0 个答案:

没有答案