async.times 函数不触发回调

async.times function does not fire the callback

我正在努力使 async 正常工作。在此示例中,我想创建并保存多个 mongoose 对象,并在作业完成时获得回调。

即使对象保存在数据库中,回调也不会触发。控制台日志也未显示。谁能帮我找出我错过了什么?

var number_of_objects = 5;
async.times(number_of_objects, function(n, next){
    var myObject = new Object({ random_string : Math.random().toString(36).substring(7), isActive: false });
    myObject.save(n,function(err,object) {
        console.log("saved");
        console.log(n);
        next(err,object);
    });
},function(err, objects) {
    console.log(objects);
    res.sendStatus(200);
});

非常感谢

您的代码中的问题是 mongoosesave 函数只接受一个参数 - 回调函数。

因此您应该将代码修改为以下内容:

myObject.save(function(err,object) {
    console.log("saved");
    console.log(n);
    next(err,object);
});