Javascript 对动作创建者使用回调
我在完成后发出POST请求,我想使用回调将用户重定向到新页面。下面是我的onSubmit处理程序Javascript 对动作创建者使用回调,javascript,reactjs,callback,redux,axios,Javascript,Reactjs,Callback,Redux,Axios,我在完成后发出POST请求,我想使用回调将用户重定向到新页面。下面是我的onSubmit处理程序 onSubmit(values) { console.log('before action'); this.props.createPost(values, () => { console.log('callback fired'); this.props.history.push('/someotherpage
onSubmit(values) {
console.log('before action');
this.props.createPost(values, () => {
console.log('callback fired');
this.props.history.push('/someotherpage');
});
}
这是我的动作创造者
export function createPost(values, callback) {
const request = axios.post(`/api/create_post`, values)
.then(() => callback());
return {
type: CREATE_POST,
payload: request
};
}
我希望回调会将我重定向到另一个页面,但它没有这样做。数据确实会发送到数据库,但回调不会启动。根据您在注释中添加的错误消息,您的HTTP调用失败,承诺被拒绝。因此,永远不会调用
.then()
处理程序
通过
.catch()
处理程序添加错误处理,您应该能够处理(失败的)调用结果。控制台中有错误吗?不,只需查看“操作前”日志。校正过了一段时间,这个会弹出。POST net::ERR_EMPTY_response和此。createError.js:16未捕获(承诺中)错误:网络错误谢谢!。。。因此,我没有在express api端点中包含res.send。一旦我把它放进去,回调就启动并重定向了我的页面。