javascript - 为什么 mysqljs/mysql 的 .query 回调访问在其块之外定义的变量?
问题描述
我认为这是最容易用一个例子来解释的。
var my_variable = 10;
let my_sql = "select count(id) as id_count from table";
con.query(my_sql, function (err, my_result) {
if (my_result[0].id_count > 10) {
my_variable += 10;
}
问题:
con.query 回调函数无法看到 的值my_variable
。
解决方案
问题是我。稍后在我的代码中,my_variable
它被破坏了。但是因为查询耗时太长,所以在使用之前就被销毁了……
推荐阅读
- java - ID 可能未使用 @GeneratedValue 初始化
- java - Spring安全抛出未经授权而不是重定向到登录
- angular - 使用服务的具有多个表单的单个提交按钮
- php - PHP 表单操作找不到文件。PHP
- python - 在 pytube 中显示进度
- postgresql - psycopg2.errors.IdleInTransactionSessionTimeout:由于空闲事务超时而终止连接
- javascript - 从 Create React App 中删除内联样式
- php - WooCommerce:从每个捆绑产品中获取数据
- python - Python DataFrame 列成行
- python - 如何将 numpy.int32 转换为 decimal.Decimal