如何从HTTP.call返回Meteor.JS中的值" GET"

时间:2015-06-22 18:20:40

标签: javascript ajax http meteor facebook-javascript-sdk

我正在编写一个流星方法,该方法应该在图表api上返回HTTP.call的Facebook响应,但是HTTP.call只有一个回调函数来显示错误/响应,所以我可以&# 39; t将此数据移到外面,而Method不能返回任何值。

这是我的方法代码:

loadUserFBEvents: function () {
  var accessToken = Meteor.user().services.facebook.accessToken;
  var query = "me?fields=likes.limit(5){events{picture,cover,place,name,attending_count}}";
  console.log(
    HTTP.call("GET", "https://graph.facebook.com/" + query + "&access_token=" + accessToken + "", function(error,response){
      if(error){
        return error;
      }
      if(response){
        return response;
      }
    })
  );
}

2 个答案:

答案 0 :(得分:4)

不要传递回调以获取HTTP返回。您还可以非常轻松地传递URL参数:

var result = HTTP.call("GET", "https://graph.facebook.com/me", {
    params: {
        access_token : Meteor.user().services.facebook.accessToken,
        fields : "likes.limit(5){events{picture,cover,place,name,attending_count}}"
    }
});

console.log(result);

答案 1 :(得分:0)

您需要记录或使用回调内部的响应,或使用Meteor.wrapAsync使其同步,以便它返回您期望它的方式。

http://docs.meteor.com/#/full/meteor_wrapasync