如何在客户端返回Meteor.call()的值?

时间:2015-07-27 18:16:43

标签: javascript twitter meteor

所以我一直在使用Twitter Me / MeteorJS,而我正在尝试做的只是在浏览器上显示twitter用户的屏幕名称。这是我到目前为止所做的:

Meteor.methods({
  'screenName': function() {
      T.get('search/tweets',
      {
        q:'#UCLA',
        count:1
      },
      function(err,data,response) {
        console.log(data.statuses[0].user.screen_name);
        return data.statuses[0].user.screen_name;
      }
    )
  }
});

所以我从isClient端调用方法'screenName'。我从我的客户端这样称呼它:

  var temp = Meteor.call('screenName');

在服务器端,它在控制台上打印出正确的值,但无法返回该值。它一直显示未定义。

我是一个javascript初学者,所以我可能犯了一个我没有马上看到的错误,所以如果有人能帮助我,我会非常感激。

谢谢!

1 个答案:

答案 0 :(得分:10)

您需要在调用中放置一个函数才能获得返回。

Meteor.call(
    'screenName',
    function(error, result){
        if(error){
            console.log(error);
        } else {
            console.log(result);
        }
    }
);

您可以在有关通话功能的文档中阅读更多内容:http://docs.meteor.com/#/full/meteor_call