【发布时间】:2015-10-13 07:38:00
【问题描述】:
我正在使用 Meteor.JS 和 pcel:mysql 从方法中获取 mysql 结果并将其传递给帮助程序。
在我的方法中,该方法执行得很好,并且使用 connection.query 我能够在服务器端控制台中记录 mysql 行。
这是我的代码的样子:
if (Meteor.isClient) {
Meteor.call('mysqltestcall1', function(error, result){
Session.set('myMethodResult', result);
});
Template.hello.helpers({
data2: function(){
return Session.get('myMethodResult');
}
});
}
if (Meteor.isServer) {
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'leaderboard'
});
connection.connect();
Meteor.methods({
'mysqltestcall1': function(){
var returnresult = 'test value';
connection.query('SELECT * FROM players', function(err, rows, fields) {
if (err) throw err;
console.log(rows);
returnresult = rows;
});
return returnresult;
}
});
}
我得到的值是“测试值”,而不是行 JSON 数据。谁能帮帮我。
我没有正确使用变量是在嵌套函数中。
【问题讨论】:
-
将此 Meteor.call 包装到 Template.hello.onCreated 函数中
-
我试过这个: Template.hello.onCreated(function(){ ..});但结果是一样的。我认为这是我们的变量没有在嵌套函数中更新的东西。
标签: javascript mysql meteor nested-function