五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

分享到微博請遵守國家法律
邻水| 右玉县| 金山区| 大姚县| 马边| 南澳县| 湖南省| 盐源县| 灌云县| 天长市| 淄博市| 涞水县| 河西区| 大同县| 疏勒县| 清徐县| 湘潭市| 济南市| 玉溪市| 芦山县| 永泰县| 聂拉木县| 万荣县| 荣昌县| 翁牛特旗| 海阳市| 剑阁县| 务川| 柘城县| 诸暨市| 平乐县| 吉安县| 巩义市| 得荣县| 勐海县| 哈密市| 青阳县| 临海市| 新蔡县| 原阳县| 沾益县|