返回Javascript函数中的循环值

返回Javascript函数中的循环值,javascript,mysql,loops,for-loop,return,Javascript,Mysql,Loops,For Loop,Return,我试图创建一个函数,该函数获取数据库表(platforms)中的所有行,并将每一行名称(platform_name)插入数组中。这将在我的HTML文档中输出一个行列表 以下是相关代码: var getData=new函数(){ this.query='SELECT*FROM platforms'; this.exe=函数(){ //连接到MySQL数据库 var mysql=require('mysql'); var connection=mysql.createConnection({ 主机

我试图创建一个函数,该函数获取数据库表(platforms)中的所有行,并将每一行名称(platform_name)插入数组中。这将在我的HTML文档中输出一个行列表

以下是相关代码:

var getData=new函数(){
this.query='SELECT*FROM platforms';
this.exe=函数(){
//连接到MySQL数据库
var mysql=require('mysql');
var connection=mysql.createConnection({
主机:“localhost”,
用户:'根',
密码:“pass”,
数据库:“chatter”
});
var platforms=new Array;//创建要返回的数组
//从数据库中获取行
connection.query(this.query,函数(err,行,字段){
//将每一行添加到平台数组中
用于(行中的变量i){
push(字符串(行[i].platforms_name));
}
});
返回平台;//返回数组
连接。结束();
}
}
console.log(getData.exe());

getData.exe()您需要在变量中指定函数的返回值,以便以后使用。仅调用此函数将返回数据,但没有任何用处。

您需要将getData.exe()方法的结果写入html文档,类似于

<script> document.write(getData.exe()); </script>
document.write(getData.exe());

欢迎来到精彩的异步世界。你不能那样做。在执行
query
回调之前,您的
platforms
为空。当
exe
返回时,这可能还不会发生。您的代码正在返回所需的值,因此在console.log中可见。您打算对数据做什么?它在控制台日志中可见,因为控制台位于。。。控制台记录一个空数组,然后将值推送到它。。。控制台显示填充的数组,因为它是一个liar@JaromandaX:是的,这个事实比我愿意承认的更经常地困扰着我:)我正试图在我的HTML文档中打印出来。return语句停止函数的执行,并从该函数返回一个值。但它很可能打印空数组。不是值数组。
很可能
。。。非常有可能
您需要在变量中指定函数的返回值,以便以后使用它
您如何知道“later”是什么时候?@JaromandaX,我知道您知道我的意思。