AngularJs - цепочка распознавателя маршрута - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь удалить данные черновика и загрузить исходные данные всякий раз, когда DiscardDraft передается в маршрут с использованием распознавателя маршрутов.

Мой вариант использования: удаление обещания должно быть выполнено до перехода к getdata.

Удалить и получить - бегущая паралли. Как сделать их

resolve: {
   data: [
          '$route',
          '$q',
          'service1',
          function ($route, $q, service1) {
            var deferred = $q.defer();
            var getDataPromise = service1.getData($route.current.params); 
            if ($route.current.params.deleteDraft) {
               var deleteDraftPromise = service1.deleteDraft($route.current.params.id);
               deleteDraftPromise.then(function () {
                     getDataPromise.then(function (resultData) {
                        deferred.resolve(resultData);
                     });
               });
            } 
            else {
                     getDataPromise.then(function (resultData) {
                           deferred.resolve(resultData);
                      });
                 }
            return deferred.promise;
            }
      ]

1 Ответ

0 голосов
/ 15 января 2019

попробуйте один за другим решить

resolve: {
data: ['$route', '$q', 'service1', function ($route, $q, service1) {
    var deferred = $q.defer();
    if ($route.current.params.deleteDraft) {
        service1.deleteDraft($route.current.params.id, function (res) {
            service1.getData($route.current.params, function (argument) {
                deferred.resolve(argument);
            });
        });
    } else {
        service1.getData($route.current.params, function (argument) {
            deferred.resolve(argument);
        });
    }
    return deferred.promise;
}]

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...