最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

如果后端傳給前端一個很大的數(shù),前端會怎么樣,該怎么處理?(字節(jié))

2022-08-24 22:08 作者:忘魂兒  | 我要投稿

首先,我們需要知道,在es2020之前,js的數(shù)據(jù)范圍是在-Math.pow(2,53)~Math.pow(2,53),都是開區(qū)間的,也就是說不包括邊界值。

用Number包裝類來表示就是-Number.MIN_SAFE_INTEGER~Number.MAX_SAFE_INTEGER

所以說,如果后端傳給前端一個很大的數(shù),并明確告訴你它超過了最大邊界,后端不打算用fastjson中提供的注解@JSONField(serializeUsing= ToStringSerializer.class)幫你做轉(zhuǎn)換!

那該怎么辦?

剛才我也說了是在es2020之前不行,但我可沒說之后不行吖!

es2020開始,提供了一種新的數(shù)據(jù)類型:BigInt,其實(shí)用它就可以解決,但是為了考慮兼容性,這個經(jīng)過bebel轉(zhuǎn)換成es5,不保證它不會出問題,所以我們還需要考慮別的方案。

第二種方法:All in String(殘缺)

什么意思呢?就是咱們前端吶,不管你后端傳過來的是number類型還是字符串,統(tǒng)統(tǒng)就統(tǒng)一成字符串!

那有的人就會說,那不只能光展示嘛,有個屁用!

誒,客官您別急,誰說字符串就不能進(jìn)行算數(shù)操作了?

您想想,二進(jìn)制是如何進(jìn)位的?或者說我們平時做加法題的時候都在干嘛?

對嘍!從末尾開始加嘛,同位超過十的部分就進(jìn)位,余出部分就留下嘛,對不對。

這時候我們處理的結(jié)果還是字符串!傳給后端,他又說了,后端為了安全考慮不能整這種字符串和數(shù)字的來回轉(zhuǎn)換!

好么!咱再換!

第三種方法:引入庫json-bigint(殘缺)

與json用法一致,里面內(nèi)置了對大數(shù)的特殊處理!不過咱們是用JSON.巴拉巴拉,它是jsonBig.巴拉巴拉

看到是看懂了,不過你這殘缺啥意思嘛?

害,我們平時不都習(xí)慣用封裝好的請求庫嘛,比如fetch啦,ajax啦,axios啦。對吧!你就像axios,它里面內(nèi)置了對返回?cái)?shù)據(jù)優(yōu)先進(jìn)行JSON.parse處理吖,那你說你后來又是都換成字符串又是用這個庫的,要么不考慮兼容性用新的數(shù)據(jù)類型的,有啥用?對吧!

不過axios很貼心就是了,允許我們?nèi)バ薷乃?,不像vant庫那個索引,誰敢動源碼?。。?!




如果后端傳給前端一個很大的數(shù),前端會怎么樣,該怎么處理?(字節(jié))的評論 (共 條)

分享到微博請遵守國家法律
岗巴县| 五河县| 安塞县| 甘南县| 吴桥县| 汶川县| 龙川县| 遂宁市| 清丰县| 江源县| 南投市| 长春市| 武城县| 偏关县| 麦盖提县| 剑河县| 册亨县| 元朗区| 张家口市| 大城县| 九龙坡区| 崇礼县| 礼泉县| 中山市| 乌鲁木齐市| 安徽省| 七台河市| 高要市| 商都县| 民勤县| 榆中县| 喀什市| 深州市| 金平| 浦北县| 都兰县| 苗栗县| 苍南县| 涞源县| 东莞市| 汉阴县|