javascript - 在 Javascript 函数中返回 For 循环值

标签 javascript mysql loops for-loop return

我正在尝试创建一个函数来获取数据库表(平台)内的所有行,该函数将每个行名称(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() 时,它输出:

enter image description here

当我按原样运行该函数时,它不会返回任何内容......令人惊讶!

我有点被这个问题困扰,所以我希望友好的灵魂有能力看看这个。我对 javascript 几乎是新手,因为我想学习使用 Node.js 制作原生 Web。

最佳答案

您需要将函数的返回值分配在变量中,以便稍后使用。仅调用此函数将返回数据,但没有任何用处。

关于javascript - 在 Javascript 函数中返回 For 循环值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42717657/

相关文章:

javascript - 在嵌套 Accordion 中添加淡入效果

mysql - 将 mysql 结果存储在 bash 数组变量中

java - 我可以在 java 中设置一些配置标志 null == null 是 false 还是 true?

python - 如何在 Beautifulsoup 中分解 HTML 元素以将它们插入到 MySQL 数据库表中?

java - 通用 for 循环 : Is there a way to get iteration information?

使用 "+="运算符的 Javascript 函数

javascript - 带按钮的折线图隐藏显示但保留颜色

javascript - 如何使用 Javascript 根据元素的颜色更改 ID

forEach 循环中的 Javascript API 队列

javascript - 如何使用 JQuery 循环 "ul"子级?