使用javascript或angularfire将两个$firebaseArray组合成一个对象

Combine two $firebaseArrays into single object using javascript or angularfire

本文关键字:两个 firebaseArray 组合 一个对象 javascript angularfire 使用      更新时间:2024-03-09

我在Angular(angularfire)中工作,试图将两个firebaseArray组合成一个对象,但返回调用的异步性质使其变得困难。我想做一些简单的事情,比如:

$scope.itemStats = $firebaseStorage.getArray('item-stats');
$scope.stats = $firebaseStorage.getArray('stats');
$scope.newArray = $scope.itemStats.concat($scope.stats);

getArray函数的代码是:

getArray: function(key) {
  var dbRef = ref.child(key);
  return $firebaseArray(dbRef);
}

我可能一开始就查询错了数据,可以同时获取这两个数据,这也可以解决我的问题(也就是说,我问错了问题)。

我应该使用哪种方法,以及如何解决此问题?

您可以使用$loaded,它将在加载数组时返回一个已解析的promise
文档中的一个示例

var list = $firebaseArray(ref);
list.$loaded()
  .then(function(x) {
    // now "list" is loaded
  })