0
我爲我的應用程序創建了一項服務,用於獲取PHP會話信息以驗證用戶是否已登錄。該服務的代碼如下。Angular.js驗證服務:等待資源迴應
angular.module('omApp')
.factory 'Auth', ['AuthResource', '$rootScope', '$location', (AuthResource, $rootScope, $location) ->
user = AuthResource.get()
# TODO: Setup permissions in database and load them
# permissions = AuthResource.get()
Auth =
user: user
signedIn: ->
user.id > 0
logout: ->
window.location = '/login/login.php'
$rootScope.signedIn = ->
Auth.signedIn()
$rootScope.authUser = Auth.user
return Auth
]
對於需要登錄用戶的控制器,我想要做類似if not signedIn() then logout()
的操作。我的問題是,這個代碼在我的資源實際加載之前運行,所以無論如何,我都會重定向到登錄屏幕。我知道AuthResource.get()產生了一個承諾,但在這種情況下,我不知道如何使用它並提供signedIn和logout函數。
我仍然有它的權威性響應之前執行的檢查相同的問題來自PHP。 – Sean 2014-09-05 20:43:45