Я использую angularJs и я использую эту функцию в моем контроллере, чтобы получить данные из базы данныхмне нужно вызвать функцию, когда предыдущая функцию закончило
this.callServer = function callServer(criteria) {
ctrl.searchParameters = criteria;
ctrl.isLoading = true;
var start = $scope.itemsPerPage * ($scope.currentPage - 1);
var limit = $scope.itemsPerPage;
service.getRandomsItems(criteria, start, limit).then(
function(result) {
var remainder = $scope.totalItems % $scope.itemsPerPage
if (remainder > 0)
$scope.numPages = parseInt($scope.totalItems/$scope.itemsPerPage) + 1;
else
$scope.numPages = parseInt($scope.totalItems/$scope.itemsPerPage);
ctrl.displayed = result.randomsItems;
$scope.totalItems = result.total;
ctrl.isLoading = false;
});
};
}
и я называю эту функцию в моем контроллере тоже обрабатывать пейджинговой проблема
$scope.pageChanged = function(currentPage) {
$scope.currentPage = currentPage;
ctrl.callServer($scope.criteria);
}
Как вы можете видеть, моя функция возвращает callServer ctrl.displayed который строки, которые отображаются на текущей странице
Теперь я хочу работать с новой страницы, так Я назвал ctrl.callServer, чтобы получить новую страницу, то я назвал ctrl.selectCurrentPage() так же, как тот
$scope.pageChanged = function(currentPage) {
$scope.currentPage = currentPage;
ctrl.callServer($scope.criteria);
ctrl.selectCurrentPage() // I want this function to be called when ctrl.callServer($scope.criteria) is finished
}
где
ctrl.selectCurrentPage = function() {
ctrl.selection.push(this.displayed[i].userId);
ctrl.selectionRow.push(this.displayed[i]);
}
в простом английском языке, я хочу ctrl.selectCurrentPage называться, когда ctrl.callServer является finsih и получить новые данные , но этого не произойдет.
это работает спасибо :) вы очень ..... –
@BelalOthman Cool :) –