【问题标题】:Making angular service for complex Firebase queries为复杂的 Firebase 查询提供角度服务
【发布时间】:2016-10-07 17:56:18
【问题描述】:

如何将像下面这样的查询转换为 Angular 服务,该服务将返回将解析为 resultresult 本身没有承诺的承诺? 我想我需要以某种方式链接承诺,但无法弄清楚如何,从未做过。

var result = [];
var groups = $firebaseArray(firebase.database().ref().child("users/" + uid + "/leagues"));
groups.$loaded().then(function (data) {
  _.each(data, function(one){
    firebase.database().ref().child('leagues/' + one.$id).once('value', function(snapshot) {
      result.push(snapshot.val());
    });
  });

}

【问题讨论】:

    标签: javascript angularjs firebase firebase-realtime-database angular-promise


    【解决方案1】:

    你想要这样的东西吗?

    function getGroups() {
      return $firebaseArray(firebase.database().ref().child("users/" + uid + "/leagues")).$loaded();
    }
    
    function getDataGroups(groups) {
      return $q.all(groups.map(function(one) {
        return firebase.database().ref().child('leagues/' + one.$id).once('value');
      }));
    }
    
    getGroups().then(getDataGroups).then(function(results) {
      //blabla
    });

    注意:我从来没有玩过 firebase(所以也许我犯了一些错误),但经过一些快速研究后,$loaded()once() 都返回了一个 Promise。

    【讨论】:

      猜你喜欢
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 2017-08-30
      • 2019-10-16
      • 2016-10-15
      • 1970-01-01
      相关资源
      最近更新 更多