2016-12-06 38 views
0

我有一個奇怪的問題,即當我添加的代碼的應用程序不會刷新後,在這裏工作的一行是我的控制器:For循環造成的Angularjs應用程序問題的平均堆棧

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)刷新後應用程序無法運行,您可以幫忙嗎?

而且功能incrementReputation是一個服務,這裏是代碼:

function incrementReputation(username) { 

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

     (function(user){ 

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

    }) 
} 

和功能的getUser也是一個服務(同incrementReputation)) :

function getUser(username) { 

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


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

      } 
+0

你可以共享函數User.incrementReputation(user.username)的代碼嗎?如果有開發工具的console標籤中的錯誤? –

+0

您是否在控制檯中看到任何錯誤? – superUser

+0

@譚樂我更新了我的問題suzo沒有錯誤 –

回答

0

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

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