Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Angular UI路由器解析promise阵列_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript 使用Angular UI路由器解析promise阵列

Javascript 使用Angular UI路由器解析promise阵列,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,在点击我的控制器之前,我正在尝试将promise数组解析为事物: resolve:{ things: function($q){ var promises = []; var titles = []; var thingRef = ['a1', 'a2', 'a3']; angular.forEach(thingRefs, function(thingRef){ promises.push($firebase(ref.child('things')

在点击我的控制器之前,我正在尝试将promise数组解析为
事物

resolve:{
  things: function($q){
    var promises = [];
    var titles = [];
    var thingRef = ['a1', 'a2', 'a3'];
    angular.forEach(thingRefs, function(thingRef){
      promises.push($firebase(ref.child('things').child(thingRef).child('title')).then(function(title){
        titles.push(title);
      }));
    });

    $q.all(promises).then(function(){
      return titles;
    });
  }
},
我做错了什么?

我想你需要:

return $q.all(promises).then(function(){
  return titles;
});
因为如果没有外部的回报,内部的回报就不会去任何地方

现在
resolve.things
返回一个承诺,当解析时,将包含一个标题数组


还有一些其他调整:

resolve:{
  things: function($q){
    var promises = [];
    var thingRef = ['a1', 'a2', 'a3'];
    angular.forEach(thingRefs, function(thingRef){
      promises.push($firebase(ref.child('things').child(thingRef).child('title')));
    });

    return $q.all(promises);
  }
}

我做了一些额外的调整。如果这不起作用,你能给我看一下承诺的输出和firebase(参考child('things')。child(参考thingRef)。child('title'))的结果吗??我被完全智障了。我忘记注入
ref
。谢谢你的帮助顺便说一句,您确实需要
$q.all()
是之前返回
,因为
$q.all
生成一个新的承诺,当所有输入承诺都得到解决时,该承诺就会得到解决。如果不返回任何内容,则只会得到未定义的