【发布时间】:2015-05-04 07:21:16
【问题描述】:
我正在尝试将函数作为参数传递,但由于某种原因这不起作用。在调试时,我最终遇到了这种情况:
使用服务器/twitter.js:
Meteor.methods({
mytweets: function(callback){
//someday I'll asynchronously get some tweets, then callback.
console.log("server got callback=",callback)
}
})
这行得通:
在/client/views/twitter.js:
Template.twitter.created = function(){
Meteor.call("mytweets",123);
}
这会正确记录server got callback=123,此时一切正常。但是以下方法不起作用:
这行不通。为什么?
Meteor.call('mytweets', function(){
return 123;
})
传递函数时,输出为server got callback= undefined
知道为什么吗?
注意:我是新的流星和 javascript,所以我真的不知道(还)这是否更多是 javascript 或与流星相关的问题。我会标记两者以防万一。
提前致谢!!
【问题讨论】:
-
函数不可序列化,也不能作为参数传递给方法调用。文档Meteor.call中提到了
标签: javascript meteor functional-programming