Angular — Убедиться, что app.run() выполнен

#angularjs #routes #main

#angularjs #маршруты #программа-точка входа

Вопрос:

Я использую app.run() для запуска метода, который инициализирует сеанс пользователя.

Теперь я просто добавлял другой метод в app.run() и обнаружил, что какой-то метод в routeProviders resolve запускался асинхронно, накладываясь на инициализацию сеанса и, следовательно, приводя к сбою приложения.

Как я могу убедиться, что app.run() было выполнено перед запуском чего-либо, связанного с маршрутом?

Ответ №1:

Вы пытаетесь сделать что-то асинхронное в своем app.run () ?? это может помочь

 angular.element(document).ready(
    function() {
        var initInjector = angular.injector(['ng']);
        var $http = initInjector.get('$http');
        $http.get('/test.json').then(
            function (response) {
               var x = response.data;

               angular.bootstrap(document, ['App']);
            }
        );
    }
);
  

Комментарии:

1. ну, я пытался сделать то же самое… у меня не сработало. поэтому я выполнил асинхронный вызов и только после его разрешения вручную загрузил приложение.

2. Обновил ответ, скажите мне, если это поможет