我有一個簡單的Angular控制器和一個服務如下。問題是我的服務總是返回null,因爲它比$ http.get()成功承諾更早完成執行。由於其異步特性,這在JavaScript等語言中很常見。Angular Service中的Asynchronus計時問題
任何人都可以請建議什麼是最好的方式來處理Angular應用程序?
var app = angular.module('User', []);
app.controller('userController', ['$scope', 'userService', function($scope, userService){
$scope.name = userService.getName();
}]);
app.service('userService', ['$http', function($http){
getName = function(){
var userName;
$http.get('/api/user.json').success(function(data){
userName = data.name;
});
return userName;
}
}]);