簡體   English   中英

For循環在均值堆棧中導致Angularjs應用程序出現問題

[英]For loop causing issue on Angularjs app in a mean stack

我遇到一個奇怪的問題,當我添加一行代碼時,刷新后該應用程序無法正常工作這是我的控制器:

myApp.controller('messengernew', ['$scope', '$resource', 'AuthService', '$location', '$http', 'User','Message', function ($scope, $resource, AuthService, $location, $http, User, Message) {

$scope.users=[];
$scope.messages=[];


User.getAllUsers().then(function(users) {
    $scope.users = users;
    for (var i = 0; i < users.length; i++) {
      (function(user){
        console.log('username ' + user.username);
        // User.incrementReputation(user.username);
        Message.getUnreadMessages(user.username, localStorage.getItem("token")).then(function(messages) {

            $scope.messages.push(messages);

        })
      })(users[i]);
    }
})


$scope.username=localStorage.getItem("token");

$scope.gotomessages = function (text) {

          var contact =text;
          localStorage.setItem("contact", contact);  
          $location.path('/messenger');
    };

}]);

如果我取消注釋User.incrementReputation(user.username) ,則刷新后該應用程序無法正常工作,您可以幫忙嗎?

函數crementReputation在服務中,下面是代碼:

function incrementReputation(username) {

  getUser(username).then(function(users) {

      (function(user){

        $http.put('/api/incrementReputation', {}, {params:{id:user._id}});
      })(users[0]);

  })
} 

並且服務中的功能getUser也與服務相同(與crementReputation相同):

function getUser(username) {

           var Users = $resource('/api/users', {},{
           query: {method: 'get', isArray: true}
           });


         return Users.query({username:username}).$promise

          }

使用給定的信息在黑暗中射擊。 可能是getUser函數中的分號問題。

return Users.query({username:username}).$promise;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM