在Meteor中从外部API发布数据

在Meteor中从外部API发布数据,meteor,Meteor,为了发布来自外部API的项目列表,我遵循了:因此我在服务器上有一个名为“items”的发布,在客户端有一个同名的集合;铁刨是他们结合的特征。到目前为止还不错 现在我被困在实现“item detail”路由(例如/item/:id)中。我编写了一个服务器方法,如下所示: Meteor.methods({ “getItem”:函数(id){ 检查(id,Match.Integer); var self=这个; var asyncCall=Meteor.wrapAsync(requestToThird

为了发布来自外部API的项目列表,我遵循了:因此我在服务器上有一个名为“items”的发布,在客户端有一个同名的集合;铁刨是他们结合的特征。到目前为止还不错

现在我被困在实现“item detail”路由(例如/item/:id)中。我编写了一个服务器方法,如下所示:

Meteor.methods({
“getItem”:函数(id){
检查(id,Match.Integer);
var self=这个;
var asyncCall=Meteor.wrapAsync(requestToThirdParty);
//requestToThirdParty是调用HTTP.get的本地函数
var response=asyncCall('GET',id);
返回响应数据;
}    
});
我不知道这是否是最好的方法,但我想知道如何从以下路径调用此方法:

Router.route(“/items/:id”{
名称:“itemDetail”,
数据:函数(){
var item=Meteor.call('getItem',this.params.id);//这应该是同步的
console.log('item:'+item);
退货项目;
}
});
我确信服务器上的方法工作正常(我调试过),但客户端的控制台日志总是显示“未定义”

我错过了什么?
还有其他方法吗?

方法在客户端上不同步设置样式。因此,不可能在客户端上调用方法并在路由中获得结果吗?除非使用被动变量,否则不可能。