Я использую AngularJS
в приложении nodewebkit.
У меня есть три вида:Маршрутизация AngularJS, вызывающая проблемы с вызовами сервера
- home.html
- Conversation.html
- login.html
При входе в систему, я звоню
$state.go('home.main');
который называет
$stateProvider.state('home.main', {
url: '/home',
views: {
"mainContent": {
templateUrl: 'views/home.html',
controller: 'loginController'
}
}
}
В основном html, я делаю серверный вызов (через socket.io), чтобы получить все разговоры. Поскольку данные огромны, требуется некоторое время, чтобы загрузить их и в этот промежуток времени, то есть до того, как пользователь получит ответ от сервера. Если пользователь нажмет на «Выход», он вернет пользователя на страницу входа.
$scope.logout = function(){
//Logout Logic
$state.go('login');
}
т.е. он вызывает
$stateProvider.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: "loginController"
});
Теперь, когда пользователь пытается войти в систему, сервер отвечает на вызов, сделанный для получения разговоров, позволяя пользователю принять его /home/conv.html.
Я не хочу отключать кнопку Logout
, пока данные отправляются с сервера на клиент.
Есть ли способ маршрутизации из/home to/login, мы можем отменить все вызовы сервера?
Вы можете отключить сокет, используя 'socket.disconnect()' см., Если это поможет –