python精度丢失_JS大坑之19位数的Number型精度丢失问题详解_稚终_前端开发者

在对接第三方接口时,遇到19位数字Number型精度丢失问题,通过分析发现request-promise解析JSON时导致精度丢失。解决方案包括使用https模块直接获取JSON字符串,正则匹配保留19位数字并手动添加双引号避免JSON.parse()时精度问题。
摘要由CSDN通过智能技术生成

More

本项目仅供爬取体验,每次访问都会实时爬取数据,所以数据返回速度会比较慢,实际操作应该是定时爬取数据然后将数据存进数据库,数据从数据库返回从而提高数据返回效率。

但项目很基础,可以作为以上各个

最近在实现一个需求的时候,需要接入第三方的接口,先调用A接口,A接口返回的数据里,有一个taskId,然后再使用这个taskId请求B接口,获取最终需要的数据。

后端使用的是

const rp = require('request-promise')

const { taskId } = await rp('https://xxx.com/A')

const options = {

method: 'POST',

uri: 'https://xxx.com/B',

body: {

taskId

},

json: true

}

const result = await rp(options)

// {

// "errorcode": "40001",

// "message": "系统错误",

// "status": "failed"

// }

接着我使用postman请求A接口,获取新的taskId,再用新的taskId请求B接口,结果却是正常的!

我在反复检查代码&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值