Я пытаюсь получить myLocation
(избыточное состояние) переменную, которая используется в следующей отправке GET_POSTS_REQUEST
. Но когда я попытался поставить await
, чтобы получить полностью возвращаемое значение, он показывает ошибку.
index. js
const testFunc = () => {
const { myLocation} = useSelector(state => state.user);
dispatch({
type: MY_LOCATION_REQUEST,
data: {
lat: position.coords.latitude,
long: position.coords.longitude,
},
});
dispatch({
type: GET_POSTS_REQUEST,
data: {
dong: myLocation.dong,
},
});
};
sagas / location. js
function getLocationAPI(locationInfo) {
return axios.post('/location', locationInfo ,{withCredentials: true});
}
function* getLocation(action) {
try {
const result = yield call(getLocationAPI, action.data);
yield put({
type: GET_LOCATION_SUCCESS,
data: result.data,
});
} catch (e) {
yield put({
type: GET_LOCATION_FAILURE,
error: e,
});
}
}
function* watchGetLocation() {
yield takeLatest(GET_LOCATION_REQUEST, getLocation);
}
export default function* locationSaga() {
yield all([
fork(watchGetLocation),
]);
}
Я должен использовать myLocation
для следующего действия отправки в index.js
. Но когда я попытался поставить async/await
на свой dispatch
, это не сработало. Есть ли какое-то решение для этого?