为什么 async.forEach 回调永远不会被调用?

Why async.forEach callback is never getting called?

在下面的代码中,我使用 forEach 并在其中迭代一个数组,在 forEach 中我调用另一个函数,同时将参数作为 callback 传递,现在事情甚至我从函数调用这个回调,forEach 回调永远不会被调用

async.forEach(Array_Ids, function (item, callback){
    sendPushNotif(item.mess, item.Ids, callback);
}, function(err) {
    // EXECUTION NEVER COMING HERE
    if(err) {
         res.json({status_code : 200, message : "Correctly Hit the URL!"});
         return next();
    } else {
         res.json({status_code : 200, message : "Correctly Hit the URL!"});
         return next();
    }
});

function sendPushNotif(mess, Ids, callback) {
sender.send(mess, { registrationTokens: Ids }, function(err, result) {
    if(err) {
        callback(null);
    }
    else {
        console.log(null);
    }
});

}

您只能在此处有条件地调用 callback()

function(err, result) {
  if(err) {
    callback(null);
  }
  else {
    console.log(null);
  }
}

如果要抑制错误,可以将if/else替换为

callback(null);

如果要传播错误,可以将整个 function 表达式替换为

callback