前端接收后端返回的 bigInt

181 阅读1分钟

通过 json-bigint 实现:

npm i json-bigint
// 为避免影响已有功能,建议新建一个单独的 axios 对象去调用可能返回 bigInt 的接口
import JSONBig from 'json-bigint';
// 格式化规则为 bigInt 转 string
const JSONBigString = JSONBig({ storeAsString: true }); 
const requestForBigInt =  axios.create();
// 自定义反序列化方法
requestForBigInt.defaults.transformResponse = [(data) => {
  try {
	    // 针对文本存在 \ 的优化
      data = data.replace(/\\/g, '\\\\');
      const res = JSONBigString.parse(data);
      return res;
    }
  } catch (error) {
      return JSON.parse(data);
  }
}];