我正在 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/