Como parar a rolagem infinita da interface do usuário enquanto o carregamento do conteúdo termina?

estou usandograde ui. Eu já implementei alguma lógica para interromper a chamada $ http da seguinte maneira. Mas quando atinge o último resultado, o pergaminho está pulando para a linha que é poucos antes dos últimos resultados. Portanto, o usuário não pode ver os últimos resultados a qualquer momento. Se o usuário rolar novamente, depois de um tempo, ele pulará novamente para a linha que é poucos antes dos últimos resultados.

Eu usei seguindo a lógica.

$scope.loadMoreData = function() {
         var promise = $q.defer();
         if($scope.lastPage < $scope.maxPage){
         $timeout(function () {
           var arrayObj = [];
           for(var i=0; i<$scope.itemsPerPage; i++){
             arrayObj.push({id:Math.random()*100, name:'Name '+Math.random()});
           }
           $scope.lastPage++;
           $scope.data = $scope.data.concat(arrayObj);
           $scope.gridApi.infiniteScroll.dataLoaded();
               console.log($scope.data);
               promise.resolve();
         }, Math.random()*1000);
         }
         else {
           $scope.gridApi.infiniteScroll.dataLoaded();
           promise.resolve();
         }
         return promise.promise;
      }

Aqui está oplunker, Usei $ timeout para substituir as chamadas $ http para facilitar a replicação.

Aqui estava o meu outroPergunta, questão que eu estava enfrentando ao implementar a rolagem infinita.

Nota: eu já pesquisei bastante no Google.

questionAnswers(1)

yourAnswerToTheQuestion