tôi áp dụng logic này mà đang làm việc:
$scope.cancelRequest = 0; // initilize taking variable
$scope.searchUser = function() {
$scope.cancelRequest = 0; // initilize taking variable
var opts = {};
$scope.userList = []; //array in witch i store the list
if($scope.searchFrind != ""){ // checking the value of the model is blank or their is some data
opts.limit_size = 10;
ProfileService.searchUser(opts, function(data) { // calling the service which call the http request
if($scope.cancelRequest == 0){ // checking the value of cancelRequest as if the request is late and we doesnot want it then it fall in the else case
angular.forEach(data.data.users,function(user) {
$scope.userList.push(user);
})
}else{ //when the cancelRequest is notequal 0 then this part run
$scope.userList = []; //empty the array
}
});
}else{
$scope.userList = [];
$scope.cancelRequest = 1; //changing the value of cancelRequest to 1 so that the pending http request after completion does not disturb the array or any model
}
};
Ông có thể giải thích những gì dòng 'trở lại cấu hình || $ q.when (config); 'không? Hay đúng hơn: làm thế nào 'config' có thể đánh giá sai - mã trên dòng đó giả định rằng nó là một đối tượng cấu hình hợp lệ? –
Bạn chính xác. Nó chỉ nên là 'return config', vì' config.timeout = canceler.promise; 'sẽ không hoạt động nếu' config' là 'undefined'. Tôi đã cẩu thả và lấy mã từ tài liệu đánh chặn cũ, chỉ chứa dòng 'return config || $ q.when (config); 'và thêm một số logic ở trên nó. Tôi sẽ chỉnh sửa nó. Cảm ơn bạn. – tasseKATT