isomorphic-fetch 메서드를 무시하고이 요청을 보내기 바로 전에 showLoader()
을 호출하고 요청이 완료된 후 hideLoader()
을 호출하려고합니다. 이제 원래의 fetch 메소드처럼 새로운 fetch를 체인으로 연결할 수 있도록이 함수를 오버라이드하고 싶습니다. 따라서 모든 약속을 존중하고 전달해야합니다. 요약하면, 내가 원하는 : fetchPlus(extraArg)
JS에서 가져 오기 메서드를 재정의하고 약속을 전달합니다.
fetchPlus()
요구에
- 재정의 원래
fetch()
그냥fetch()
를 호출 직후fetch()
완료되기 전에 addtional 작업을 수행 할 수 있습니다. ,
fetchPlus(extraArg, originalArgs...).then(response => {...}).catch(error => {...});
내가 JS에 비교적 새로운 해요 반응하고 돌아 오는 : 내가 할 수 있도록
fetchPlus()
그것은 체인 지원해야 원래 fetch()
fetch()
에 대해 읽었으며 응답이 더 이상 전달되거나 오류가 처리 될 수 있도록 Promise을 반환한다는 것을 알고 있습니다. 나는 그것을 수행하는 추악한 방법을 찾았습니다. responseHandler와 errorHandler 함수를 fetchPlus에 대한 args로 전달합니다. fetchPlus(extraArg, url, options, responseHandler, errorHandler) {
showLoader(extraArg);
fetch(url, options)
.then(response => {
hideLoader(extraArg);
responseHandler(response);
}.catch(error => { errorHandler(error); });
}
하지만 깨끗하지 않습니다. 약속이 올바르게 전달 된 원본 가져 오기를 드롭 인 대체로 찾을 수 있는지 확인하고 싶습니다.
나는 어떤 도움을 주셔서 감사합니다!
당신이 * 대체 *은'fetch' 기능 하시겠습니까 아니면 그냥'fetch' 기능의 수정 된 버전이 될 것입니다 새로운 기능을 만들 ? –
실제 fetch()를 호출하기 전과 후에 추가 작업을 수행하도록 fetch 함수를 래핑하려고합니다. 그래서 당신이 그것을 fetch() 또는 fetch()의 수정 된 버전보다 우선적으로 호출 할 수 있다고 생각하십니까? 아래의 해답은 내 문제를 해결합니다. –
재정의하면'fetch'에 다른 함수를 할당 할 것입니다. –