나는 Redux 액션 및 리듀서가있는 React Native 애플리케이션을 보유하고 있습니다. 나는 asyncron 호출을 기다리는 데 redux-thunk 디스패치를 사용하고 있습니다. 이 내 응용 프로그램에서 작업입니다 :Redux 액티비티 요청 취소
export const getObjects = (id, page) => {
return (dispatch) => {
axios.get(`URL`)
.then(response => {
dispatch({ type: OBJECTS, payload: response });
}).catch(error => {
throw new Error(`Error: objects -> ${error}`);
});
};
};
제대로 작동하고 있지만, 행동하기 전에 다시 버튼을 때때로 사용자가 클릭 요청을 완료하고, 내가 그것을 취소해야합니다. 분리 된 행동으로 어떻게 할 수 있습니까? 내가 read this,하지만 내가 axios에서 중단 옵션을 찾지 못했습니다. 나는 축수 cancellation에 대해 읽었지 만 JS가 다중 반환을 지원하지 않기 때문에 함수 범위에서 취소 메서드를 만들었고 반환 할 수 없습니다.
다른 Redux 작업에서 액시오 요청을 취소하는 가장 좋은 방법은 무엇입니까?
당신이 원하는 것을하기위한 또 다른 방법은 Axios가 요청을 완료하게하고 다른 액션 (예 : setCanceled)을 전달하는 상태에서'cancelled : true' 플래그를 설정하는 것입니다. 요청이 완료되고 약속이 해결되면 먼저 취소 된 플래그를 확인합니다. 그것이 사실이라면, 당신은 성공 행동을 파견하지 않을 것입니다. 그것은 당신의 사건을 해결합니까? –