내 fetch() 함수의 실행을 제어하는 데 문제가 있습니다. 특히 사용자가 스팸 fetch() 요청을 보내지 않도록하고 싶습니다.언제 Redux에서 fetch()가 발생합니까?
내 생각은 미들웨어의 내부를 수행했지만, 시간 페치와 액션()는 페이로드가 이미 약속이 가져옵니다.
그래서 제 질문은, 때 정확하게 인출 않습니다()가 이미 실행하세요? 이 중요한 경우
후 내 코드는 대략 다음과 같습니다.
부모 조치 :
{
return (dispatch) => {
if (mode === 'MY') {
dispatch(myAction(...);
}
dispatch(someOtherAction(...));
}
}
내 조치 :
{
type: 'TYPE',
promise: post(url, payload)
}
내 포스트 방법 :
{
console.log('sending POST');
return fetch(url, {
//fetch info
});
}
내 미들웨어 :
{
return next => action => {
const { promise, //other fields } = action;
//Already a promise here.
if (!promise) {
return next(action);
}
return promise.then(
//Processing data
);
};
}
, 나는 ... "... 액션 작성자 함수를 반환하면, 그 함수가 돌아 오는 썽크 미들웨어에 의해 실행 얻을 것이다"이 라인 우연히. 그렇다면 Redux-Thunk 때문에 내 문제가 발생 했습니까? 내 행동이 파견 될 때마다 Redux-Thunk는 내 맞춤형 미들웨어에 도달하기 전에 즉각적으로 내 기능을 실행합니다. –