【发布时间】:2021-12-30 12:55:56
【问题描述】:
我一直在努力解决这个问题,但我已经筋疲力尽了。我正在调用我的无服务器 mysql,试图从团队中获取看板。我已经多次使用此方法并且一切正常,但这很可能是因为它们只返回单个项目而这返回多个项目。
这是我返回空对象的代码。
async function getKanbans(team_id){
let kanbans = [];
await sql_query(`SELECT id, sName FROM table WHERE iTeam = ?`, [team_id])
.then(result => {
result.forEach(kanban => {
// console.log(kanban);
kanbans.push({
id: kanban.id,
name: kanban.sName
});
});
})
.catch(err => {
console.log(err);
});
console.log(kanbans);
return kanbans;
}
如您所见.. 我正在尝试打印看板,但确实得到了:
[
{ id: 1, name: 'Kanban_1' },
{ id: 2, name: 'Kanban_2' }
]
摆脱它。然后我试图将它返回给调用此函数的项目,这就是它的样子:
teams.push({
id : team.id,
sName : team.sName,
sColor : team.sColor,
aKanbans : result[0]['selectedTeam'] == team.id ? getKanbans(team.id) : null,
});
(更大的东西的小sn-p)
好的,现在当我尝试查看数据响应(来自前端)时,我得到了:
{
"success": true,
"message": "Found teams",
"teams": [
{
"id": 1,
"sName": "Team1",
"sColor": "#fcba03",
"aKanbans": {}
},
{
"id": 2,
"sName": "Team2",
"sColor": "#2200ff",
"aKanbans": null
}
]
}
来自 Team1 的看板是空的、空的对象。我到底要做什么?我尝试映射它,但仍然得到一个空对象。 React/javascript 不是我的主要语言,我只是喜欢学习。有什么建议吗?
【问题讨论】:
-
你在哪里打电话
teams.push(...)?你能提供使用它的函数的完整代码吗?另外,getKanbans是一个异步函数,所以你需要为它await,即result[0]['selectedTeam'] == team.id ? await getKanbans(team.id) : null。 -
@juliomalves 当然,你去pastebin.com/TA7g0nRb