我正在使用Meteor.call方法在服务器上调用一个函数.它有点工作,但似乎结果没有完全恢复.(预计长度为250,现在它返回11,121,类似的东西)我正在使用异步Meteor.call.我在服务器端功能完成之前猜测,Meteor.call正在返回一个结果.我试过同步调用,但我不清楚Meteor文档.
所以我试图使用Meteor.apply()选项.我如何使用Meteor.apply选项?任何例子?
client.js
var chartData;
Template.prodSelect.events({
'click': function(e){
e.preventDefault();
var prodName = document.getElementById("productSelect").value;
//console.log(prodName);
Meteor.call('chartData', prodName,function(err,data){
if (err)
console.log(err);
chartData = JSON.parse(data);
//console.log(data);
createChart(chartData);
});
}
});
Run Code Online (Sandbox Code Playgroud)
试过这个,但是给出了错误.
var chartData;
Template.prodSelect.events({
'click': function(e){
e.preventDefault();
var prodName = document.getElementById("productSelect").value;
//console.log(prodName);
Meteor.apply('chartData', prodName,{wait: true}, function(err,data){
if (err)
console.log(err);
chartData = JSON.parse(data);
//console.log(data);
createChart(chartData);
});
}
});
Run Code Online (Sandbox Code Playgroud)
小智 5
只是自己想通了这一点。您需要将参数作为数组传递,并指定“等待”,您只需传递true给函数。所以,在你的情况下:
Meteor.apply('chartData', [prodName], true, function(err, result){