В
app.js
у меня находится примерно такой код:
vtTmModule.config(function ($routeProvider, $locationProvider, $httpProvider) {
$routeProvider
.when('/someUrl', {
controller: 'SomeController'
,templateUrl: 'someTpl.html'
,resolve: {}
})
.when('/anotherUrl', {
controller: 'AnotherController'
,templateUrl: 'anotherTpl.html'
,resolve: {}
});
}).run(function ($rootScope, $routeParams, $location, UserLoader) {
UserLoader.then(function(result) {
$rootScope.users = result;
});
// Получение прочих данных с сервера через промисы
});
Соответственно, при обновлении страницы выполняется
run(...)
, а также загрузка шаблона и контроллера для соответствующего урла. В
run(...)
я пытаюсь загрузить общие данные, используемые для большинства путей. Проблема в том, что эти данные иногда загружаются позже контроллеров и шаблонов, в которых они должны использоваться.
Как не допустить обработку роутинга до того, как все данные будут получены в
run(...)
?