HttpServletRequest不能重复读取的原因

288 阅读1分钟

在项目中曾经遇到过读了两次文件流第一次取到数据,第二次取不到数据的情况,因为流读取的时候位置会移动,一直到读取完,所以第一次取到数据后,重复取就是undefined了。

下面是我的遇到问题的例子和解决方案:

//第一次读取error.response
if (error && error.response) {
//第二次读取error.response,结果为undefined
   let response =JSON.parse(error.response);
   if ('500' === response.code) {
        message.error( response.subMsg);
   }
}

解决方案:

//只读取一次
let response = error && error.response;
if (response) {
    let _error = JSON.parse(response);
    if ('500' === _error.code) {
        message.error(_error.subMsg);
   }
}