在我的数据加载器中,我得到的响应是:
method: 'PUT'
})
.then(response => response.json().then(json => {
response.ok ? json : Promise.reject(json)}))
.then(schematizeResponse)
在我的屏幕上,我有一个按钮,可以调度该功能,该按钮是:
_updateValues(){
try{
//update Email
this.props.editProfile({
currentUserToken: this.props.userSession.currentUserToken,
data: {
email: this.state.newEmail
}
})
this.state.updated= true;
}
catch(e) {
this.state.updated= false;
}
当响应失败时,我得到:
可能未处理的承诺拒绝(id:0)和响应正文。
我通过道具调用的editProfile在我的控制器中:
function mapDispatchToProps(dispatch) {
return {
dispatch,
editProfile: bindActionCreators(editProfileRequest, dispatch)
};
}
更新:
this.props.editProfile({
currentUserToken: this.props.userSession.currentUserToken,
data: {
email: this.state.newEmail
}
})
我需要:
try {
this.props.editProfile({
currentUserToken: this.props.userSession.currentUserToken,
data: {
email: this.state.newEmail
}
})
}
catch( error ? )
{
this.setState({failedUpdate:true})
}
如何处理拒绝?
答案 0 :(得分:1)
您的提取中订单有误。试试这个:
method: 'PUT'
})
.then(response => {
if (response.ok)
return response.json()
else throw new Error('error')
.then(schematizeResponse).
catch(err => alert(err));