您这个例子和官方的是差不多的
function checkStatus(response) { if (response.status >= 200 && response.status < 300) { return response } else { var error = new Error(response.statusText) error.response = response throw error } } function parseJSON(response) { return response.json() } fetch('/users') .then(checkStatus) .then(parseJSON) .then(function(data) { console.log('request succeeded with JSON response', data) }).catch(function(error) { console.log('request failed', error) })
我希望当http code为400的时候, 得到相应的json数据, 展示给开发人员, 因为400这种错误就是传参不对导致的, 我返回的例子是:
{
code: -1,
msg: '密码不能为空',
data: null
}
{
code: -2,
msg: '性别编码不是系统定义的',
data: null
}
当200的时候
{
code: 0
msg: 'ok',
data: {createdUser: {id...name....}}
}
{
code: 20
msg: '系统已存在该用户不能注册',
data: null
}
总之, 400的时候一般是开发人员不按照接口文档开发造成的错误, 让他自己解决, 不要打扰后端程序员, 200代表接口调用成功, 但是业务有可能错误的
他这2个then能不能合并成一个啊, 要不没法解决我的问题, 因为执行第一个then的时候我要调用第二个then中的数据
轻松入门 React 开发,React Router 4 与 Webpack 2 完美升级项目
了解课程