【发布时间】:2020-05-16 03:45:19
【问题描述】:
我有 2 个变量。一个在.then 中分配,另一个在函数中分配。后来只定义了 1 个。
代码摘录...
let user;
let station;
const app = express();
app.post("/api/user", (req, res) => {
user = req.body.user; // Breakpoint added here to confirm user set
}
// Uses serialport module. Called when data received on serial port
function serialPortListener(data) {
getStation(data) // Retrieves record from database
.then(s => {
station = s; // Breakpoint added here to confirm station set
...
}
我在这两种方法上都设置了断点以确认变量已设置。当我稍后尝试访问它们时,只定义了user。我假设这与设置 station 的上下文有关?
station 未分配到其他任何位置。
【问题讨论】:
-
请同时输入
getStation函数。似乎该函数没有返回值,因此它给出了未定义的。 -
promise getStation() 解决了吗?你检查是否调用了 line station = s?
-
“我设置断点...”包括
station = s以确认它已设置 -
我昨天遇到了同样的问题;这是因为从异步函数内部设置的 return/ 变量不起作用...This YouTube video 帮助我理解它,查看他的语法并尝试在您的应用程序中实现它。
-
我认为有人在异步使用某些东西时是同步的。 AKA 你点了一个比萨饼,一旦你点了你就试着吃它。不会发生。
标签: javascript node.js promise