【发布时间】:2020-09-26 21:40:12
【问题描述】:
我必须选择数据库中所有可用的标签,所以我可以在我的函数中使用它们,但是我在查询的回调函数中为变量赋值后无法使用变量,为什么?
不工作的代码:
let tags = [];
db.query(
`select * from tags`,
(err, results) => {
tags = results;
}
)
console.log(tags);
return;
但这是可行的:
let tags = [];
db.query(
`select * from tags`,
(err, results) => {
tags = results;
console.log(tags);
}
)
return;
但是为什么呢?我想在该查询之后再次使用变量tags,但不知何故,分配给它的值在查询后被破坏了。我需要改变什么?
【问题讨论】:
-
可见区域?
-
嘿,我不明白你的意思。我已经发布了整个代码。
-
我认为没有分配变量,因为正在创建副本。这可以在许多语言中看到。也可能是异步造成的。