angularJS + express中带有$ q.all的重复响应承诺

丹尼尔·拉米雷斯·托雷斯(Daniel Ramirez Torres)

当使用$ q.all()获得多个响应时,我在响应对象中获得了相同的值。我得到的对象与承诺的声明一样多,但是所有的“名称”字段都具有相同的值(最后一个为3)。

.controller('myCtrl', function ($scope, $state, $q, myService) {

   $scope.myList = [];

   $scope.create = function() {
      var newObject;
      var promises = [];
      for(var i = 0; i < 4; i++){
        newObject = { name: i };
        promises[i] = myService.create(newObject);
      }
      $q.all(promises).then(
       function (response) {
         $scope.myList = response;
       }
      );
   };
}

这是我的服务:

    .service('myService', function ($http, $q, baseURL) {

       this.create = function(object) {
         var deferred = $q.defer();
         //console.log shows that object still has the proper 'name' value
         $http.post(url, object).then(
            function (response) {
              // console.log shows that all response objects have the same 'name' value.
              deferred.resolve(response);
            }
          );
         return deferred.promise;
       };
}

感谢任何输入,因为这是我在Angular中实现诺言的第一种方法。

丹尼尔·拉米雷斯·托雷斯(Daniel Ramirez Torres)

在重新声明变量时,通过在循环内移动newObject声明来解决此问题,promise会将其先前值的副本保留给自己。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有$ q的AngularJS执行顺序-链式承诺

来自分类Dev

AngularJS承诺$ q.all和SignalR

来自分类Dev

AngularJS承诺$ q.all和SignalR

来自分类Dev

如何处理可能是angularjs中$ q承诺的对象?

来自分类Dev

q.all()进行重复的ajax调用(Angularjs,$ http,$ q)

来自分类Dev

带有$ q承诺的Angularjs $ http删除导致TypeError:对象不是函数

来自分类Dev

angularjs在$ q.all中返回另一个承诺

来自分类Dev

AngularJs $q.all 使用

来自分类Dev

AngularJS $ q。所有超时

来自分类Dev

在AngularJS中处理$ q.all和promises时出错

来自分类Dev

使用$ q.all()从AngularJS中的函数获取$ http数据

来自分类Dev

AngularJS-$ q.all不以同步方式履行承诺

来自分类Dev

在带有Q承诺的回调中返回值?

来自分类Dev

angularjs $ q和$ http关于承诺

来自分类Dev

在angularjs中计算待处理的$ q承诺

来自分类Dev

AngularJS $ q承诺无法按预期工作

来自分类Dev

在angularjs中计算待处理的$ q承诺

来自分类Dev

带有嵌套承诺的$ q.all也使用$ q.all创建

来自分类Dev

带有嵌套承诺的$ q.all也使用$ q.all创建

来自分类Dev

带有Express.js的Node + Q-有序的承诺

来自分类Dev

在承诺链中容纳Q.all

来自分类Dev

在承诺链中容纳Q.all

来自分类Dev

$q.all 在收到 404 响应时中止所有承诺

来自分类Dev

AngularJS $ q.all和多个$ q.defer

来自分类Dev

React/Express:在响应承诺中插入一个 if 语句?

来自分类Dev

Error dealing with $q.all and promises in AngularJS

来自分类Dev

AngularJS-对$ q.all()的恢复失败

来自分类Dev

Q库(javascript)-使用Q.all()在承诺中处理q.reject()

来自分类Dev

$ q.all中的有角承诺不会被拒绝

Related 相关文章

热门标签

归档