【发布时间】:2021-12-02 21:16:07
【问题描述】:
我是 React 新手,遇到了一些问题。
这是我当前的 API 调用。
Axios.post(Addr_currentRound_addOne, { gameId: gameId }).then(history.push("/leiter_tunierplan/"+gameId));
这是对应的API Code sn-p。
app.post("/currentRoundAddOne", (req, res) => {
const gameId = req.body.gameId;
db.query(
"UPDATE tunierplan SET currentRound=currentRound+1 WHERE id=?;",
[gameId],
(err, result) => {
if (err) {
console.log(err);
} else {
res.send("Daten Übertragen");
}
}
);
});
这里的问题: currentRound,应该总是在调用执行时增加 +1。 然后重定向到给定的“/leiter_tunierplan/” 但 有时,它不起作用。它不会增加任何值(+1) 我的第一个想法是:因为它是异步的,所以在它完成之前我会从 history.push 中取消它。我对吗?我该如何解决它。 已经谢谢了。
【问题讨论】:
-
但是你的代码
gameId没有任何地方增加? -
“因为它是异步的,所以在它完成之前我会从 history.push 中取消它。我说的对吗?” - 不,因为你使用的是
thenPromise,这从一开始就排除了异步 - 历史推送只会在对您的请求的响应到达时发生。 -
gameId 不相关。 @Jer
-
你在抱怨它没有被增加。您的代码中没有任何内容显示它正在递增。
-
那么:那我该如何解决呢?因为它应该只在 Axios.post 完成时重定向。
标签: javascript mysql node.js reactjs express