fetch调用服务端处理返回null值的情况
fetch

根据官方文档,我们都知道,fetch请求数据,返回的response要通过response.json()去获取返回的data,但是如果返回的是null就会报错。这个问题查了蛮久没有方案,其实我们都忽略了另外一个方法response.text()。其实思路很简单,如果返回是null,转json不行,我们转string 总没问题吧?
处理方法如下:

fetch('/admin-api/orders/page?pageNum=1&pageSize=10').then(response=>{
  return  response.text().then((resText)=>{
    if(resText){
      return Promise.resolve(JSON.parse(resText)); //此处不要用resonse.json() 因为body是一个stream 只能读一次
    }else {
      return Promise.resolve(null);
    }
  }).catch(e=>{
    return Promise.reject(e);
  })
}).then((res)=>{
  console.log(res)
});



我们来看下结果,在有数据的情况下
image4.png
在返回null的情况下
image5.png

达到预期

暂无评论