国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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é))的評論 (共 條)

分享到微博請遵守國家法律
治县。| 枝江市| 孝感市| 河北省| 石阡县| 丹阳市| 梁平县| 云南省| 库尔勒市| 德格县| 恩平市| 凤庆县| 安龙县| 武功县| 旬邑县| 锡林郭勒盟| 涞水县| 咸丰县| 武陟县| 大冶市| 土默特左旗| 江华| 福建省| 南丹县| 肥西县| 饶平县| 奉贤区| 沽源县| 四平市| 怀仁县| 安丘市| 建瓯市| 多伦县| 辽中县| 新泰市| 若尔盖县| 马龙县| 阳新县| 公安县| 长春市| 嘉荫县|