【发布时间】:2018-09-06 15:53:06
【问题描述】:
我正在尝试使用服务器上的流星方法从 AirVisual API 获取数据并将其传递给客户端。数据在服务器上成功接收。但是,当在其中调用方法时,模板助手会变得未定义。
客户端助手:
Template.index.helpers({
getCityDataOnClient: function(city, state) {
Meteor.call('getCityData', city.toLowerCase(), state.toLowerCase(), function(error, result) {
if(!error) {
console.log(result); //returns undefined
}
else {
console.log(error);
}
});
}
});
lib 文件夹中的 Meteor methods.js:
Meteor.methods({
getCityData : function(city, state) {
var data = [];
const result = HTTP.call('GET', 'http://api.airvisual.com/v2/city', {
params: {
state: state,
city : city,
country: 'pakistan',
key: 'xxxxxxxxxx'
}
}, function(err, res) {
if (!err) {
data = res.data.data;
//console.log(data); //prints correct data on the server and client
return data;
}
else {
console.log(err);
return err;
}
});
}
});
我已经查找过类似问题的答案。似乎没有任何工作,包括 Tracker、reactive-var 和 reactive-methods。
【问题讨论】:
标签: meteor methods server callback client