Я новичок в угловых js. Я хочу сделать аутентификацию. Я должен направить некоторые страницы только после проверки подлинности. Для этого у меня есть функция checkLogin. При вызове этой функции checkLogin требуется некоторое время обработки. Если true
перенаправляет соответствующую страницу. Если false
остается на той же странице. Но при одновременном вызове функции checkLogin он обрабатывает функцию app.config
одновременно. Мне нужно заблокировать его. Я должен обработать это только после chcklogin
.Как избежать асинхронной обработки в угловых js
var app = angular.module('myApp', ['ngRoute', 'ngResource','ngCsv', 'ui', 'ngSanitize', 'ngQuickDate', 'ui.tree', 'blueimp.fileupload','mentio']);
app.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'app/views/login.html',
controller: 'LoginController',
title: 'Login'
}).when('/signup', {
templateUrl: 'app/views/signup.html',
controller: 'SignUpController',
title: 'Sign Up'
}).when('/dashboard', {
templateUrl: 'app/views/dashboard.html',
controller: 'DashboardController',
title: 'Dashboard'});});
app.run(function($rootScope, $location, DataService) {
var unAuthenticatedPages = ["/", "/signup"];
var checkLogin = function() {
if (!$rootScope.isLoggedIn && unAuthenticatedPages.indexOf($location.path()) === -1) {
$location.path('/');
}
};
$rootScope.isLoggedIn = true;
DataService.getUserListById(1, function(user) {
$rootScope.user = user;
});
$rootScope.$on('$locationChangeStart', checkLogin);});
Прежде чем оставлять вопрос, оставьте сообщение о конфиденциальности. –