¿Cómo detener el desplazamiento infinito de ui-grid mientras finaliza la carga de contenido?

estoy usandoui-grid. Ya he implementado algo de lógica para detener la llamada $ http de la siguiente manera. Pero cuando alcanza el último resultado, el desplazamiento salta a la fila que se encuentra pocos antes de los últimos resultados. Por lo tanto, el usuario no puede ver los últimos resultados en ningún momento. Si el usuario se desplaza nuevamente, luego de un tiempo, salta nuevamente a la fila que se encuentra unos pocos antes de los últimos resultados.

Solía seguir la 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;
      }

Aquí está elsaqueador, Usé $ timeout para reemplazar las llamadas $ http para una fácil replicación.

Aquí estaba mi otropregunta que estaba enfrentando mientras implementaba el desplazamiento infinito.

Nota: ya busqué en Google mucho.

Respuestas a la pregunta(1)

Su respuesta a la pregunta