我的问题是当我尝试发送一些“复杂”对象时,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(数据),但没有任何建议???
谢谢!
答案 0 :(得分:4)
我认为您应该使用Meteor.apply()
来调用带有参数数组的方法,请参阅Meteor.call()
的文档:
http://docs.meteor.com/#/full/meteor_call
另请参阅Meteor.apply,它与Meteor.call相同,只是您将参数指定为数组而不是单独的参数,并且您可以指定一些控制方法执行方式的选项。