【发布时间】:2017-01-06 10:29:22
【问题描述】:
我有两个 javascript 文件, main.js:- 执行数据库查询和存储结果的“行” samp.js:- 一个调用 main.js 我的问题是,我如何将 main.js 中的“行”传递给 samp.js,尝试了 module.exports,prototypes,但无济于事,我知道这是一个简单的问题,但这些简单的问题不有文档,没有帮助很难解决,
main.js:
var mysql=require('mysql');
var row1;
function person(){}
var con=mysql.createConnection({
host:'localhost',
user: 'root',
password:'',
database:'imd2'
});
con.connect();
person.prototype.getdata= function(callback)
{
con.query("select * from users",function(err,rows)
{
//row1=rows;
console.log(rows);
//return(rows);
}
);
}
module.exports=person;
这里“console.log(rows)”工作,但是当我尝试将它返回到 samp.js 时,它不起作用
Samp.js
var person=require("./main");
var person1=new person();
person1.getdata()
//var x=person1.getdata()
//console.log(x)
你能告诉我我犯的错误在哪里吗,我搜索的每个stackoverflow问题都没有传递给其他文件的函数变量,请帮助
【问题讨论】:
-
使用
callback(row)并致电person1.getdata(function(data){ console.log(data); }) -
@MukeshSharma
person1.getdata(console.log);更短:)。不确定它是否能解决任何问题。 -
是的@PierreC。谢谢(y)
-
您是否出现任何错误?我在我的电脑上做了一个小测试,你的代码似乎很好。我没有向数据库发出任何请求。
-
@PierreC。没有错误,只是查询的异步调用给了我返回数据的问题
标签: javascript jquery node.js database