반응형
axios에 보류 중인 요청이 있는지 확인합니다.
저는 리액트JS에 새로 왔고, 아약스 호출을 위해 Axios 라이브러리를 사용하려고 했습니다.훌륭하지만, 저는 모든 Ajax 호출(아직 보이지 않는 경우) 로드 오버레이를 표시하고 모든 약속이 해결될 때 오버레이를 제거하기 때문에, Axios 인터셉터에 보류 중인 요청이 있는지 알 수 있는 방법이 있는지 알고 싶습니다.일단 저는 인터셉트로 시작을 개발했습니다.
axios.interceptors.request.use(function (config) {
//here logi of show loading
return config;
}, function (error) {
return Promise.reject(error);
});
그리고 저는 다음과 같은 것을 추가하고 싶습니다.
axios.interceptors.respose.use(function (config) {
//logic remove loading if it is last response
return config;
}, function (error) {
return Promise.reject(error);
});
그렇다면 (가능하다면) 마지막 응답인지 어떻게 알 수 있을까요?ReactJs를 사용하기 전에 Angular 1.x를 사용했고,$http service있었다
$http.pendingRequests
액시오스에 $http 서비스 같은 것이 있습니까?
이것이 제 해결책이었습니다 :)
var numberOfAjaxCAllPending = 0;
// Add a request interceptor
axios.interceptors.request.use(function (config) {
numberOfAjaxCAllPending++;
// show loader
return config;
}, function (error) {
return Promise.reject(error);
});
// Add a response interceptor
axios.interceptors.response.use(function (response) {
numberOfAjaxCAllPending--;
console.log("------------ Ajax pending", numberOfAjaxCAllPending);
if (numberOfAjaxCAllPending == 0) {
//hide loader
}
return response;
}, function (error) {
numberOfAjaxCAllPending--;
if (numberOfAjaxCAllPending == 0) {
//hide loader
}
return Promise.reject(error);
});
언급URL : https://stackoverflow.com/questions/44670782/know-if-there-are-pending-request-in-axios
반응형
'codememo' 카테고리의 다른 글
| 도커에서 디렉터리 명령을 변경하시겠습니까? (0) | 2023.08.16 |
|---|---|
| 최대 길이로 최대 절전 모드에서 열의 길이를 설정하는 방법 (0) | 2023.08.16 |
| 프로젝트 폴더가 없는 git clone (0) | 2023.08.16 |
| Swift에서 날짜를 밀리초 단위로 표시하고 다시 날짜로 표시합니다. (0) | 2023.08.16 |
| ASP.NET에서 제어 기능을 찾는 더 좋은 방법 (0) | 2023.08.11 |