所以,我正在尝试编写一个进行http调用的方法。当我运行该方法时,我收到以下错误:
调用方法'upload'时发生异常TypeError:无法调用未定义的方法'call'
代码如下所示:
客户端:
console.log(Meteor.call('upload', f, content));
服务器:
Meteor.methods({
upload: function(file, content) {
this.unblock();
Meteor.http.call("PUT", "http://blah");
}
});
更新:问题解决了,结果我必须启用包:meteor add http
答案 0 :(得分:42)
您只需在项目的命令行中运行此命令即可添加HTTP包:
meteor add http
答案 1 :(得分:3)
您还需要使用Meteor.call客户端进行回调。
来自文档:
在客户端上,如果你没有传递回调并且你不在存根中,则调用将返回undefined,并且你将无法获得该方法的返回值。那是因为客户端没有光纤,因此实际上没有任何方法可以阻止远程执行方法。
所以你应该改变这个
console.log(Meteor.call('upload', f, content));
到这个
Meteor.call('upload', f, content, function(error, result){console.log(result);});