如何将Meteor.apply与选项一起使用?

zev*_*uld 5 javascript meteor

我正在使用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){