Open a page then only load data

My current ionic code able to get data then open page. However, I want to open the page then only loading to get the data. I want to change the sequence since it takes 10s to load some data.

Here is my code:

  $scope.openDetail = function (stock) {
    console.log(stock.symbol);
    $ionicLoading.show();

    //stockCondition
    if(stock.symbol.length<=$scope.stockCondition) {
      $stockDataFactory.getStockDetails(stock).then(
        function success(data) {
          $globalFactory.personalStockData = data.details;
          $globalFactory.personalStockNews = data.news;
          $ionicLoading.hide();
          $state.go("app.page1");

        },
        function error(error) {
          alert(error.message);
          console.error(error);
          $ionicLoading.hide();
        }
      );
    }
    else{//WarrentCondition
      $stockDataFactory.getWarrentDetails(stock).then(
        function success(data) {

          $globalFactory.personalStockData = data.details;
          $globalFactory.personalStockNews = {};
          $ionicLoading.hide();
          $state.go("app.page1");
        },
        function error(error) {
          alert("Stocks Not Found.");
          console.error(error);
          $ionicLoading.hide();
        }
      );
    }
  };//end 

In order to open the $state.go("app.page1"); first, then only loading data, how shall I made changes of my code?