使用Meteor.call和对象作为参数

时间:2014-12-16 20:15:01

标签: meteor

我的问题是当我尝试发送一些“复杂”对象时,Meteor.call会向Meteor.method发送空数组。这就是我的意思:

// this works, I can see this array from Meteor.method
var data = ["cpu", "vmem", "mem", "JG_slots"];
Meteor.call("getDimentionValue", data.dimention, function (error, result) { ... });

// this DOESN'T work, I see an empty array from Meteor.method
var data = [{JB_owner: []}, {dimention: []}, {job_state:[]}];
Meteor.call("getDimentionValue", data.dimention, function (error, result) { ... });

我尝试了EJSON.stringify(数据),但没有任何建议???

谢谢!

1 个答案:

答案 0 :(得分:4)

我认为您应该使用Meteor.apply()来调用带有参数数组的方法,请参阅Meteor.call()的文档:

http://docs.meteor.com/#/full/meteor_call

  

另请参阅Meteor.apply,它与Meteor.call相同,只是您将参数指定为数组而不是单独的参数,并且您可以指定一些控制方法执行方式的选项。