我正在尝试创建一个函数来获取数据库表(平台)内的所有行,该函数将每个行名称(platform_name)插入数组中。这应该最终在我的 HTML 文档中输出行列表。
相关代码如下:
var getData = new function() {
this.query = 'SELECT * FROM platforms';
this.exe = function() {
// Connecting to MySQL Database
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'pass',
database: 'chatter'
});
var platforms = new Array; // Creating array to return
// Getting the rows from the database
connection.query(this.query, function(err, rows, fields) {
// Adds every row to the platforms array
for(var i in rows) {
platforms.push(String(rows[i].platform_name));
}
});
return platforms; // Returns array
connection.end();
}
}
<script> console.log(getData.exe()); </script>
<script> getData.exe(); </script>
当我在 console.log 中运行函数 getData.exe() 时,它输出:
当我按原样运行该函数时,它不会返回任何内容......令人惊讶!
我有点被这个问题困扰,所以我希望友好的灵魂有能力看看这个。我对 javascript 几乎是新手,因为我想学习使用 Node.js 制作原生 Web。
最佳答案
您需要将函数的返回值分配在变量中,以便稍后使用。仅调用此函数将返回数据,但没有任何用处。
关于javascript - 在 Javascript 函数中返回 For 循环值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42717657/