javascript - 使用 javascript 或 angularfire 将两个 $firebaseArrays 组合成单个对象

标签 javascript angularjs firebase

我正在 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 。
来自 documentation 的示例

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

关于javascript - 使用 javascript 或 angularfire 将两个 $firebaseArrays 组合成单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36487374/

相关文章:

javascript - 使用 AngularJS 从 JSON 响应 ($http) 获取对象并将其作为 ng-click 上的变量传递

javascript - 用 pako(javascript 中的 zlib)压缩,用 zlib(python)解压不起作用

javascript - 为什么我在原型(prototype)中定义时无法调用函数?

javascript - 使用中的属性(property)未更新

javascript - 为什么 angularJs $watch 只运行一次

android - 如何使用 ionic 3 和 Firebase Cloud Messaging 从通知栏打开特定页面?

javascript - 使用 Promise 循环获取 Firebase 对象

javascript - Firebase Remote Config (Web) 始终使用 Samsung Internet 的默认值

javascript - jQuery onClick 必须导致间歇性显示 <div> 或图像

javascript - MVC 编辑器用于动态插入