Angularjs выполнить после функции (обещание?) - PullRequest
0 голосов
/ 13 ноября 2018

Я хочу выполнить окно $ только после завершения цикла for. Как я могу это сделать? Должен ли я добавить обещание или что-то? Если да, то как мне это сделать? Я пытался смотреть на вопросы, которые используют обещание, но я действительно не понимаю. Буду очень признателен за вашу помощь и спасибо!

 var getAllTheme = displayAll.callAll()
     .then(function(response) {
         $scope.allTheme = response;
         for (var i =0; i < $scope.allTheme.length; i++) {
           if ( i > 0) {
                $scope.themename.push($scope.allTheme[i].THEMENAME);
           }
         }
     })


       $scope.searchFunction = function() {
          for ( var i = 0; i < $scope.allTheme.length; i++) {
              if ($scope.selected == $scope.allTheme[i].THEMENAME)
              {
                  $scope.selectedTheme = $scope.allTheme[i].QUERYNAME;
                  apiURL = 'url';
                  $scope.selected = $scope.allTheme[i].THEMENAME;
                      $http.get(apiURL).then(function(response) {
                        $scope.apiResult = response.data.SrchResults;
                        $scope.apiResult.splice(0,1);
                        for (var i= 0; i < $scope.apiResult.length; i++) {
                             $scope.dataLatLng.push($scope.apiResult[i].LatLng)
                        }

                      })
                      $window.location.href = "#!/searchedResult";
              }


          }

       }

HTML:

<input type="text" class="searchFeature" ng-model="selected"
       ng-keyup="$event.keyCode == 13 && searchFunction()"
       uib-typeahead="value for value in themename | filter:$viewValue | limitTo:7" 
       placeholder="Start your search here.">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...