gpt4 book ai didi

node.js - 循环中的回调node.js

转载 作者:太空宇宙 更新时间:2023-11-03 23:10:32 24 4
gpt4 key购买 nike

我不明白如何在循环中设置回调:

models.chat_user.find( {user_id: app.locals.session.user._id}, function(err, result){
if(result.length < 1){
chat.user = new models.chat_user({
user_id: app.locals.session.user._id
})
chat.user.save();
}
models.chat_user.find(function(err, result){
for(value in result){
models.user.findOne({_id: result[value].user_id}, function(err, user){
chat.users[value] = {};
chat.users[value].username = user.username
chat.users[value].mail = app.locals.user.getAvatar(user.mail, 50);
});
}
})
});

当我在循环中找到所有数据时,我想设置回调,但我不知道如何设置也许对 result.lenth 有一个条件,但这不是很干净

谢谢

最佳答案

使用async.forEach像这样:

models.chat_user.find(function(err, result){
async.forEach(result, function(value, callback) {
models.user.findOne({_id: result[value].user_id}, function(err, user){
chat.users[value] = {};
chat.users[value].username = user.username
chat.users[value].mail = app.locals.user.getAvatar(user.mail, 50);
callback(err);
});
}, topLevelCallback);
});

topLevelCallback 在所有 forEach 迭代调用其 callback 时调用,并传递任何错误(如果有)。

关于node.js - 循环中的回调node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790706/

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