mysql - Node js数组值访问问题

标签 mysql node.js

我有数组,我想将查询结果存储在数组中,下面是代码

var button_settings=[];
con.query("SELECT * from ht_button", function (err, result, fields){
   if (err) throw err;
   button_settings.push(result);
});
console.log(button_settings);

它显示[]我想要存储的结果。

最佳答案

您正在查询本质上是异步的数据库,因此 console.log 不会等待 con.query 的结果,并在之后立即执行。因此,您会打印出 [] 。但是,如果查询完成后 result 中有记录,那么如果将 console.log(button_settings); 放入 中,您将在控制台中打印数组>con.query 函数如下:

将代码更改为

var button_settings=[];
con.query("SELECT * from ht_button", function (err, result, fields){
   if (err) throw err;
   button_settings.push(result);
   console.log(button_settings);  //console after the query completes
});

因此,为了使流程像同步一样工作,您将使用 button_settings 的值,创建一个像这样的私有(private)函数,

var button_settings=[];
con.query("SELECT * from ht_button", function (err, result, fields){
   if (err) throw err;
   button_settings.push(result);
   _processButtonSettings();
});

//put all your code related to button_settings here
function _processButtonSettings(){
  console.log(button_settings);
  //and more code...
}

关于mysql - Node js数组值访问问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49953824/

相关文章:

php - 在 PHP 中将 MySQL 数据库作为 Excel CSV 导出到桌面

Mysql连接表

来自复选框值的 PHP 数组仅返回数组而不是值

node.js - 如何在 Node.js 中正确使用 Mongoose 模型?

node.js - 使用 mongodb-native 删除所有文档

mysql - 构建下表的查询

mysql - 使用外键进行 SQL 搜索

node.js - 如何让 Express 静态文件服务器正确处理 Windows 反斜杠?

javascript - ElectronJS npm start/bash : electron-forge: command not found

javascript - 在 Express 应用程序中返回远程 API 数据