一、问题分析
我们在日常开发中如果后端返回给我们一个很长的整型,例如:1425452686578319362
我们在前端接受到的结果可能如下:
1425452686578319400
这是因为后端定义的long长整型字段长度超过17位返回到前端,前端得到的数据精度丢失
二、解决方式
- 后端将Long类型改为String
- 让前端支持此长度的整数
很显然后者更符合我们的需求
三、问题解决
1、安装npm依赖包
npm i json-bigint
2、配合axios使用
这里只讲解和axios搭配使用的方法,如果需要更详细的使用方法,请访问:json-bigint
import JsonBig from 'json-bigint'
const axiosInstance: AxiosInstance = axios.create({
baseURL: BASE_URL,
timeout: TIME_OUT,
transformResponse: [ data => {
const json = JsonBig({
storeAsString: true
})
return json.parse(data)
}],
})
此时我们就能拿到正确的结果了!