首页 > 其他分享 >【BUG】axios 长数字精度丢失问题

【BUG】axios 长数字精度丢失问题

时间:2024-02-29 10:34:29浏览次数:19  
标签:axios id json bigint 丢失 JSONbig data BUG

问题原因

出现改问题是于javascript 整数范围问题 java 中 Long 类型 -2的63次方 - 2的63次方减去1 但是javascript整数范围确没有那么大,导致Long数字过大前端精度丢失

使用 json-bigint 解决

安装

npm i json-bigint
# 或
yarn add json-bigint
import JSONbig from 'json-bigint' // JSONbig 这个名字随意取

const instance = axios.create({
  baseURL: 'xxxx',
  timeout: 10000,
  // 安装 json-bigint 处理long类型精度丢失问题
  // 或者更改服务器代码使用String 类型    // 一般日期都是格式化传过来的,就算使用时间戳一般也看不出来 时间相差不大 主键id就不一样了,拿到id想去修改这个数据居然查不到
  // 我这是id出问题了才发现的  原来一直使用的varchar 保存的雪花主键 字段使用String
  // 现在使用bigint 字段使用long就出问题了
  transformResponse: data => {
    try {
      return JSONbig.parse(data)
    } catch (err) {
      console.log(err)
      return JSON.parse(data)
    }
  },
})

参考链接:
https://www.npmjs.com/package/json-bigint
https://segmentfault.com/a/1190000038551193

标签:axios,id,json,bigint,丢失,JSONbig,data,BUG
From: https://www.cnblogs.com/Megasu/p/18042877

相关文章

  • IDEA更新本地代码丢失,IDEA使用Update Project更新本地代码丢失
    问题原因提交代码前,IDEA更新Git本地代码丢失,IDEA使用UpdateProject更新Git本地代码丢失,更新代码时执行UpdateProject操作。执行完该操作会发现IDEA没有任何提示,默认覆盖了你本地还未提交的代码,本地呕心沥血写的代码瞬间人间蒸发解决办法LocalHistory(本地历史更改记录)当出现......
  • Lua调试函数 debug.getinfo() namewhat详解
    Lua调试的时候会用到debug.getinfo()函数,what的值文档给了解释:"Lua":Luafunction"C":Cfunction"main":mainpartofachunk(通过load函数等执行的语句)关于namewhat的值到底表示什么,官方文档只是简单列举(不全)。列举一些常见情况localgetinfo=debug.getinfol......
  • [转帖]解Bug之路-串包Bug
    https://zhuanlan.zhihu.com/p/225394262 解Bug之路-串包Bug笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。现在就挑一个案例出来,写出分析思路,以飨读者,希望读者在以后的工作中能够少踩点坑。串包Bug现场前置故障Redis超时......
  • 一次把事情做对:对质量保证要做的刚刚好,不浪费资源不遗漏BUG
    知道你有没有注意到,走进各个企业,总能看到那么几句振奋人心的标语,其中“一次把事情做对”绝对是个高频词汇。以前每次看到,我都会想:这家企业也太教条了,都什么时代了,对失败这么零容忍,还怎么创新呢?这个时代的主旋律不是从错误中学习,快速响应、快速迭代吗?然而最近一年的嵌入式领域经历......
  • bug解决日记
    bug解决日寄linux系统篇1、crontab设置定时开启失效crontab-e设置定时任务,如*****[commond]crontab-l查看定时任务,类似cat日志可以在var/log/cron或者/var/log/syslog/看到可能原因:1.命令本身问题,如权限不足等。2.如果命令在手动执行无误,看看不用shell脚本形......
  • 开发之调试-debug
    流程需求或创意--开发--调试--测试--部署-上线debugc++有gdbjava有jdbpython有pdb调试器会附加到应用进程打断点python调试printassertpdb##assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式......
  • 易基因:CHH甲基化丢失可触发玉米表观等位基因的可遗传变化|作物研究
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。研究人员已经在多种植物物种中观察到在杂交过程中跨染色体间互作而导致DNA甲基化变化。然而,这些互作的原因或结果知之甚少。2023年12月18日,佛罗里达大学微生物学和细胞科学系meixiaZhao等人在《PlantPhysiology》......
  • Advanced .Net Debugging 2:CLR基础
    一、简介这是2024新年后我的第一篇文章,也是我的《Advanced.NetDebugging》这个系列的第二篇文章。这篇文章告诉我们为了进行有效的程序调试,我们需要掌握哪些知识。言归正传,无论采取什么形式来分析问题,对被调试系统的底层了解的越多,就越有可能成功的找出问题的根源。在N......
  • ShowMeBug X MOMA 猛玛 | 提质增效两不误,以技术驱动高效招聘
    ShowMeBug与深圳市昊一源科技有限公司(以下简称昊一源)成功完成签约,并针对其技术人才需求提供全面的解决方案,助力昊一源汇聚优秀技术人才,构建高效招聘流程体系,为昊一源招聘效能的提升和优化奠定坚实基础。依托于ShowMeBug岗位题库和智能组卷功能,昊一源的HR只需要输入岗位名称与岗......
  • ShowMeBug 签约国内领先的金融支付技术服务商——新国都
    深圳市新国都股份有限公司(以下简称新国都)与ShowMeBug完成签约。针对其技术招聘提出解决方案,推动新国都的技术人才沉淀,构建专业的招聘流程闭环,为新国都带来招聘效能的提升和改进。在面试过程中,新国都通过使用ShowMeBug技术测评平台,提升人才选拔的效率与质量。ShowMeBug基于云端I......