【发布时间】:2022-02-17 00:21:26
【问题描述】:
我不知道问题出在哪里,我知道标题没有描述我对此的任何看法。 这是我面临的问题。 我目前正在使用 MERN 应用程序。
我有一条快递路线,我从两个表中请求数据库中的一些数据。
playlist.post("/getplaylistSongs", (req, res) => {
const { cookie } = req.body;
const sql = "SELECT * FROM playlist WHERE user_id = ?";
dbCon.query(sql, [cookie], (err, result) => {
if (err) {
res.status(400).json({
message: "failed to get playlist details ",
});
} else {
let playlistSongs = [];
result.forEach((element, index) => {
const audio_id = element.audio_id;
dbCon.query(
"SELECT * FROM audios where video_id = ?",
[audio_id],
(err, song) => {
if (err) {
res.status(400).json({
message: "failed to get music",
});
} else {
playlistSongs.push(song);
}
});
});
console.log(playlistSongs);
res.status(200).json({
playlist: playlistSongs,
});
}
});
});
但是这里的问题是我尝试这样做我总是将playlistSongs 作为一个空数组。
谢谢你。评论以纠正问题。
编辑:现在我知道问题与 javascript 的执行有关。
【问题讨论】:
-
dbCon.query 是异步的。以 (err, song) 开头的回调将是您可以访问响应数据的地方。
-
谢谢你,但我现在更困惑@You
标签: javascript node.js express scope