gpt4 book ai didi

node.js - 在返回结果之前如何确保 Mongoose 查询已完成?

转载 作者:太空宇宙 更新时间:2023-11-04 01:39:39 25 4
gpt4 key购买 nike

我有以下代码来获取游戏中的库存:

async function(username) {
return await User.findOne({ username: username }).lean().inventory;
}

目前,我在 socket.on 中运行此函数,应该返回数据:

socket.on('give inventory', function() {
console.log(connections[socket.id])
itemmanage.getInventory(connections[socket.id]).then(function(result) {
console.log(result);
socket.emit("get inventory", result);
})
});

但是,这不会返回数据。相反,它只是返回未定义。如何让它返回数据而不是未定义的数据?我尝试过的所有操作仍然返回未定义。

最佳答案

 async function(username) {
const data = await User.findOne({ username: username }).lean();
return data.inventory;
}

socket.on('give inventory', async function() {
try{
console.log(connections[socket.id])
const result = await itemmanage.getInventory(connections[socket.id]);
console.log(result);
socket.emit("get inventory", result);
}catch(err){
//code for handleing error
}
});

关于node.js - 在返回结果之前如何确保 Mongoose 查询已完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53347745/

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