React JS |交叉获取所有状态码

时间:2018-07-13 14:21:37

标签: javascript reactjs api npm

我正在对我的ReactJS API调用使用Cross fetch

是否有一种方法可以在获取响应中捕获400 401403

这是使用提取的示例代码

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  body: JSON.stringify({
    title: 'foo',
     body: 'bar',
     userId: 1
   }),
   headers: {
     "Content-type": "application/json; charset=UTF-8"
   }
})
.then(response => response.json())
.then(json => console.log(json))

1 个答案:

答案 0 :(得分:0)

您可以在给第一个then的回调中查看状态代码:

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  body: JSON.stringify({
    title: 'foo',
    body: 'bar',
    userId: 1
  }),
  headers: {
    "Content-type": "application/json; charset=UTF-8"
  }
})
.then(response => {
  if ([400, 401, 403].includes(response.status)) {
    throw new Error('Response status was 400, 401, or 403!');
  }

  return response.json();
})
.then(json => console.log(json))
.catch(error => console.error(error))