【问题标题】:Fbgraph Data Querying Meteor 1.3Fbgraph 数据查询 Meteor 1.3
【发布时间】:2016-04-15 15:35:29
【问题描述】:

当我使用 Meteor 1.2 时,我会在我的服务器上使用以下代码来查询用户数据和朋友数据:

function Facebook(accessToken) {
    this.fb = Meteor.npmRequire('fbgraph');
    this.accessToken = accessToken;
    this.fb.setAccessToken(this.accessToken);
    this.options = {
        timeout: 3000,
        pool: {maxSockets: Infinity},
        headers: {connection: "keep-alive"}
   }
   this.fb.setOptions(this.options);
}
Facebook.prototype.query = function(query, method) {
    var self = this;
    var method = (typeof method === 'undefined') ? 'get' : method;
    var data = Meteor.sync(function(done) {
        self.fb[method](query, function(err, res) {
            done(null, res);
       });
   });
   return data.result;
}

Facebook.prototype.getUserData = function() {
    return this.query('me');
}
Facebook.prototype.getFriendsData = function() {
    return this.query('/me/friends');
}

当我将项目更新到 Meteor 1.3 时,我使用“meteor npm install --save fbgraph”来安装 fbgraph,但我发现 'npmRequire' 不再有效,所以我将其替换为 'require',如下所示:

function Facebook(accessToken) {
    this.fb = require('fbgraph');
    this.accessToken = accessToken;
    this.fb.setAccessToken(this.accessToken);
    this.options = {
        timeout: 3000,
        pool: {maxSockets: Infinity},
        headers: {connection: "keep-alive"}
    }
    this.fb.setOptions(this.options);
}

但是我仍然收到此错误:调用方法“getFriendsData”时出现异常 TypeError: Object [object Object] has no method 'sync'

所以我的问题是 Meteor 1.3 中是否有与 Meteor 1.2 的“Meteor.sync”等效的功能?如果没有,那么如果没有,我应该如何更改 fb 查询代码以使其与 Meteor 1.3 一起使用。

【问题讨论】:

    标签: javascript facebook meteor npm


    【解决方案1】:

    这似乎可以解决问题:

    1. 首先安装 run-asnyc npm 包

      $ npm install --save run-async
      
    2. 使用require来初始化runAsync变量

      var runAsync = require('run-async');
      
    3. 将 Meteor.sync 替换为 runAsync

      var data = runAsync(function(done) {
          self.fb[method](query, function(err, res) {
              done(null, res);
          });
      });
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-16
      • 2014-12-05
      • 2016-10-26
      • 2016-07-21
      • 2013-11-29
      • 2016-06-12
      • 2016-08-14
      • 1970-01-01
      相关资源
      最近更新 更多