可能的无人承诺拒绝反应
2018-01-10
1445
在我的数据加载器中,我得到的响应是这样的:
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)和响应主体。
我通过 props 调用的 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})
}
我如何处理拒绝?
1个回答
您的提取顺序错误。尝试以下操作:
method: 'PUT'
})
.then(response => {
if (response.ok)
return response.json()
else throw new Error('error')
.then(schematizeResponse).
catch(err => alert(err));
sebastianf182
2018-01-10