【发布时间】:2020-12-05 00:26:31
【问题描述】:
我不知道为什么我不能让这个调度函数到达console.log(3) 和console.log(4),我试图从成功函数内部移动调度,但它再次不起作用。
export const getDistance = (storeLocation) => {
console.log('called1')
const options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0,
};
const success = (pos) => {
console.log('called2')
return dispatch => {
console.log('called3')
dispatch({ type: FETCHING_GEO_DATA })
axios
.get(
`${process.env.REACT_APP_GEO_BASE_URL}?waypoint.0=${pos.coords.latitude},${pos.coords.longitude}&waypoint.1=${storeLocation}&du=mi&key=${process.env.REACT_APP_GEO_KEY}`
)
.then((res) => {
console.log('called4')
dispatch({
type: FETCHING_GEO_DATA_SUCCESS,
payload: res.data.resourceSets[0].resources[0].travelDistance.toFixed(1)
})
})
.catch((err) => {
console.log('called4')
dispatch({
type: FETCHING_GEO_DATA_FAILURE,
payload: err
})
});
}
}
const error = (err) => {
console.warn(`ERROR(${err.code}): ${err.message}`);
}
return window.navigator.geolocation ? navigator.geolocation.getCurrentPosition(success, error, options) : null
};
【问题讨论】:
标签: javascript redux ecmascript-6 react-redux dispatch