0
저는 각도 j에서 새롭습니다. 나는 인증을 원한다. 인증을 확인한 후에 만 일부 페이지로 이동해야합니다. 내가 그 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);});
질문을 게시하기 전에 오타를 고려하십시오. –