如何在Meteor中向一个请求发送多个响应

时间:2016-01-03 21:25:24

标签: meteor websocket ddp

我有一段代码,我使用第三方API来获取数据,比方说Facebook,

我执行以下查询

Meteor.call('getAwesomeUsers', function() { ... });

现在在服务器上这是我

_.each(['zuck','shane', 'dustin'], function(key, value) {
            console.log(key, value)
            var data= HTTP.get( 'https://graph.facebook.com/' ).data; 
            console.log(data);
            return data;
        });

(请忽略代码,只是想知道按用户请求返回数据),

因为代码显示有三个请求发送到服务器,我可以看到使用我的console.log()正确抓取数据,但数据不会返回给客户端。

我想知道的是如何将这些数据单独发送给客户三次。

更新 我现在只是向服务器发出3个请求,只是为了让事情顺利进行

1 个答案:

答案 0 :(得分:0)

你做不到。这甚至不是流星或javascript的问题,这是编程范式的问题。函数只返回一次,而不是多次。

所以你有两个选择:

  1. 将回复捆绑成一个
  2. 创建一个单独的通信,您可以使用自己的逻辑,关于何时发送内容以及如何对另一端接收数据做出反应。
  3. 对于1.你可以这么简单:

    return _.map(['zuck','shane', 'dustin'], function(key, value) {
                console.log(key, value)
                var data= HTTP.get( 'https://graph.facebook.com/' ).data; 
                console.log(data);
                return data;
            });
    

    只会给你一个包含三个“响应”的数组。