gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 23:21:05 24 4
gpt4 key购买 nike

在下面的代码中,我使用了 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

关于javascript - 为什么 async.forEach 回调永远不会被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com