Javascript AsyncNodeJS:错误:已调用回调
我是node.js新手,必须解决其中的一个bug。我正在尝试通过以下服务更新组成员,每当我尝试调用此API时,我都会收到错误消息 错误:已调用回调 我的代码是:Javascript AsyncNodeJS:错误:已调用回调,javascript,jquery,node.js,asynccallback,Javascript,Jquery,Node.js,Asynccallback,我是node.js新手,必须解决其中的一个bug。我正在尝试通过以下服务更新组成员,每当我尝试调用此API时,我都会收到错误消息 错误:已调用回调 我的代码是: 'app.post('/api/updateGroup/:group_id', function (req, res) { var checkGroup = Group.findOne({'_id': req.params.group_id}).exec(); checkGroup.addBack(function( err
'app.post('/api/updateGroup/:group_id', function (req, res) {
var checkGroup = Group.findOne({'_id': req.params.group_id}).exec();
checkGroup.addBack(function( err , existingGroup ) {
if ( err ) {
res.json({'message' : err });
}else if( existingGroup ){
Group.findOne({ '_id': req.params.group_id })
.execQ()
.then(function(existingUser) {
var friendphoneNumber = req.body.friendphoneNumber.split(',');
var friends = [];
console.log('existingUser', friendphoneNumber);
async.each(friendphoneNumber, function(phonenum, callback) {
var phonenum = phonenum.split("\'")[0];
console.log('phonenum', phonenum);
User.findOne({
'phoneNumber': phonenum
})
.execQ()
.then(function(existingFriend) {
if(existingFriend === null) {
friends.push({
'details': {
'phoneNumber': phonenum
}
});
callback();
} else {
friends.push({'details': existingFriend});
callback();
}
})
.catch(function(err) {
console.log('err', err)
friends.push({
'details': {
'phoneNumber': phonenum
}
});
callback();
})
.done(function() {
});
}, function(err) {
console.log('callback')
group.group_id = req.params.group_id;
// group.user_id = req.body.userId;
// group.createdDate = moment().format('YYYY-MM-DD hh:mm a');
group.friends = friends;
group.update(function(err) {
if (err) {
res.json({
message: err
});
} else {
res.json({
success: 1,
message: 'Group updated',
group: group
});
}
});
});
})
.catch(function(err) {
res.json({
success: 0,
message: 'user id Not Match. Please try again'
});
})
.done(function(events) {
});
}
else {
console.log('nope');
}
});
});
关于这个问题,我看到的答案很少,但我仍然无法解决。如果
回调
抛出错误,它将在然后
和下面的捕获中被调用。您可能应该在done
函数中调用它
.then(function(existingFriend) {
if(existingFriend === null) {
friends.push({
'details': {
'phoneNumber': phonenum
}
});
} else {
friends.push({'details': existingFriend});
}
})
.catch(function(err) {
console.log('err', err)
friends.push({
'details': {
'phoneNumber': phonenum
}
});
})
.done(function() {
callback();
});
你知道那个错误是从哪里来的吗?它来自异步库吗?你能发布错误吗output@AAA我发布了一些代码,这些代码符合我试图描述的内容。