В моем приложении AngularJS при каждом запросе на изменение страницы, которую я запускаю:
$rootScope.$on('$locationChangeStart', function (event, next, current) {
var user;
$http.get('/api/Authentication/UserAuthenticated').then(function (data) {
console.log("call");
user = data.data;
});
console.log("end of call");
});
Когда я запускаю приложение и проверяю, что происходит, я вижу в консоли, что «конец вызова» возвращается до console.log("call");
, что означает, что пользователь не установлен. Это означает, что если я хочу проверить, вошел ли пользователь в систему при изменении маршрута, пользователь будет неопределенным.
Как мне сделать запрос Angular run-> http и только потом продолжить?
promises
, а с$http
, выполняющим асинхронный вызов. Поскольку вызовget
является асинхронным,"end of call"
всегда будет отображаться первым. - person Davin Tryon   schedule 26.02.2014resolve
конфигурации маршрута. - person dfsq   schedule 26.02.2014