日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

23k star超火項(xiàng)目,請(qǐng)求優(yōu)化寫的一塌糊涂!我直接重構(gòu)!

來(lái)源: 責(zé)編: 時(shí)間:2024-06-14 17:39:44 233觀看
導(dǎo)讀取消重復(fù)請(qǐng)求取消重復(fù)請(qǐng)求是一個(gè)前端項(xiàng)目中很常見(jiàn)的網(wǎng)絡(luò)請(qǐng)求優(yōu)化手段,他主要是為了防止短時(shí)間內(nèi)發(fā)送了多個(gè)一模一樣的請(qǐng)求,導(dǎo)致性能的消耗~23k star 的項(xiàng)目是怎么做的?github 上有一個(gè)很火的項(xiàng)目,叫做 Vben-Admin,是一個(gè)非

取消重復(fù)請(qǐng)求

取消重復(fù)請(qǐng)求是一個(gè)前端項(xiàng)目中很常見(jiàn)的網(wǎng)絡(luò)請(qǐng)求優(yōu)化手段,他主要是為了防止短時(shí)間內(nèi)發(fā)送了多個(gè)一模一樣的請(qǐng)求,導(dǎo)致性能的消耗~Sgb28資訊網(wǎng)——每日最新資訊28at.com

23k star 的項(xiàng)目是怎么做的?

github 上有一個(gè)很火的項(xiàng)目,叫做 Vben-Admin,是一個(gè)非常出色的后臺(tái)管理系統(tǒng)模板,但是個(gè)人覺(jué)得它的取消重復(fù)請(qǐng)求做的一塌糊涂(下面會(huì)說(shuō)理由)?。?!Sgb28資訊網(wǎng)——每日最新資訊28at.com

由于項(xiàng)目中源代碼比較多,我盡量簡(jiǎn)化了代碼,給大家展示一下它是怎么去實(shí)現(xiàn)這個(gè)功能的Sgb28資訊網(wǎng)——每日最新資訊28at.com

我先說(shuō)一下它實(shí)現(xiàn)這個(gè)功能的思路:Sgb28資訊網(wǎng)——每日最新資訊28at.com

  • 1、維護(hù)一個(gè) Map:key 是 請(qǐng)求的 Method + Url,value 是這個(gè)請(qǐng)求的取消方法
  • 2、請(qǐng)求攔截器中:先清除掉 Map 中此請(qǐng)求 Method + Url 的存儲(chǔ),也就是取消掉前面的重復(fù)請(qǐng)求,然后再進(jìn)行本次請(qǐng)求
  • 3、響應(yīng)攔截器:清除掉本次請(qǐng)求的存儲(chǔ),確保不影響下一次的判斷

簡(jiǎn)化后的代碼如下Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

接著在頁(yè)面中使用Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

假如我點(diǎn)擊了三次,那么它會(huì)將我前面的兩次取消掉,只讓第三次請(qǐng)求成功,從而實(shí)現(xiàn)取消重復(fù)請(qǐng)求的功能~Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

但是這個(gè)方案缺陷真的很大,比如看下面的例子,我不止一個(gè)按鈕調(diào)用了,我有兩個(gè)按鈕去調(diào)用這個(gè)接口Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

我先點(diǎn)擊了按鈕1,再點(diǎn)擊按鈕2,發(fā)現(xiàn)它把我按鈕1的請(qǐng)求取消掉了,只請(qǐng)求了按鈕2的請(qǐng)求,其實(shí)這是沒(méi)錯(cuò)的,但是錯(cuò)就錯(cuò)在,它取消了按鈕1的請(qǐng)求,但是連著按鈕1點(diǎn)擊事件接下來(lái)的代碼都中斷掉了?。。。?span style="display:none">Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

可以發(fā)現(xiàn),控制臺(tái)沒(méi)有打印按鈕1的結(jié)果,只打印了按鈕2的結(jié)果?。。?span style="display:none">Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

這顯然是不合理的,我們?nèi)∠貜?fù)請(qǐng)求只是為了減少網(wǎng)絡(luò)資源、性能的消耗,但是可不想因?yàn)檫@個(gè)優(yōu)化,而影響了我們?cè)镜倪壿媬Sgb28資訊網(wǎng)——每日最新資訊28at.com

其實(shí)上面的按鈕1、按鈕2,也可以類比為頁(yè)面1、頁(yè)面2,兩個(gè)頁(yè)面在短時(shí)間內(nèi)發(fā)起了同一個(gè)請(qǐng)求,你直接去把頁(yè)面1的后續(xù)邏輯都中斷了,這不是一個(gè)好的方案?。。?span style="display:none">Sgb28資訊網(wǎng)——每日最新資訊28at.com

并且其實(shí)不合理的地方還有:Method + Url當(dāng)做 key,確實(shí)不太合理(但是本文暫且不關(guān)注這點(diǎn))Sgb28資訊網(wǎng)——每日最新資訊28at.com

自己思考怎么做~

想了一下,不能用上述的方案來(lái)做,缺陷太大了,自己想的方式就是不取消請(qǐng)求了!而是直接不發(fā)請(qǐng)求! 大概的思路如下:Sgb28資訊網(wǎng)——每日最新資訊28at.com

  • 1、維護(hù)一個(gè)Map:key 是 請(qǐng)求的 Method + Url,value 第一次請(qǐng)求的 Promise
  • 2、第一次請(qǐng)求時(shí),生成一個(gè) Promise,存儲(chǔ)在 Map 中
  • 3、第一次請(qǐng)求響應(yīng)之后,修改 Promise 的狀態(tài),并把響應(yīng)數(shù)據(jù)傳給 Promise
  • 4、后續(xù)的重復(fù)請(qǐng)求以第一次請(qǐng)求的 Promise 為準(zhǔn),確保能復(fù)用數(shù)據(jù),且不影響各自的后續(xù)邏輯

簡(jiǎn)化后的代碼如下:Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

結(jié)果如下,按鈕1、按鈕2各自的后續(xù)邏輯會(huì)繼續(xù)進(jìn)行Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

且請(qǐng)求只會(huì)發(fā)出一次Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

第一個(gè)請(qǐng)求報(bào)錯(cuò)了咋辦?

我這個(gè)方案是以第一個(gè)請(qǐng)求為主的,那么,如果第一個(gè)請(qǐng)求失敗了,那后續(xù)的重復(fù)請(qǐng)求就爺跟著失敗嗎?顯然是不對(duì)的~Sgb28資訊網(wǎng)——每日最新資訊28at.com

第一個(gè)請(qǐng)求失敗之后,我們必須讓后續(xù)的請(qǐng)求再重新走一次流程才對(duì),就像是一切都沒(méi)發(fā)生過(guò)一樣!Sgb28資訊網(wǎng)——每日最新資訊28at.com

只需要在后續(xù)重復(fù)請(qǐng)求的錯(cuò)誤回調(diào)中,重新執(zhí)行請(qǐng)求即可,這樣又能重新來(lái)過(guò)了?。。?span style="display:none">Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

可以看到,就算前面的失敗了,后面的照樣能自己發(fā)起請(qǐng)求進(jìn)行自救Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Sgb28資訊網(wǎng)——每日最新資訊28at.com

有完善的空間

以上只是我根據(jù)自己思路寫出的一個(gè)粗略版本,如果大家有自己其他的顧慮,可以進(jìn)行修改精進(jìn)!Sgb28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-93864-0.html23k star超火項(xiàng)目,請(qǐng)求優(yōu)化寫的一塌糊涂!我直接重構(gòu)!

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: JavaScript如何實(shí)現(xiàn)判斷只能輸入數(shù)字

下一篇: 從 Prometheus 到 OpenTelemetry:指標(biāo)監(jiān)控的演進(jìn)與實(shí)踐

標(biāo)簽:
  • 熱門焦點(diǎn)
  • Flowable工作流引擎的科普與實(shí)踐

    一.引言當(dāng)我們?cè)谌粘9ぷ骱蜆I(yè)務(wù)中需要進(jìn)行各種審批流程時(shí),可能會(huì)面臨一系列技術(shù)和業(yè)務(wù)上的挑戰(zhàn)。手動(dòng)處理這些審批流程可能會(huì)導(dǎo)致開(kāi)發(fā)成本的增加以及業(yè)務(wù)復(fù)雜度的上升。在這
  • 從零到英雄:高并發(fā)與性能優(yōu)化的神奇之旅

    作者 | 波哥審校 | 重樓作為公司的架構(gòu)師或者程序員,你是否曾經(jīng)為公司的系統(tǒng)在面對(duì)高并發(fā)和性能瓶頸時(shí)感到手足無(wú)措或者焦頭爛額呢?筆者在出道那會(huì)為此是吃盡了苦頭的,不過(guò)也得
  • 得物寵物生意「狂飆」,發(fā)力“它經(jīng)濟(jì)”

    作者|花花小萌主近日,得物宣布正式上線寵物鑒別,通過(guò)得物App內(nèi)的“在線鑒別”,可找到鑒別寵物的選項(xiàng)。通過(guò)上傳自家寵物的部位細(xì)節(jié),就能收獲擁有專業(yè)資質(zhì)認(rèn)證的得物鑒
  • 新電商三兄弟,“抖快紅”成團(tuán)!

    來(lái)源:價(jià)值研究所作 者:Hernanderz 隨著內(nèi)容電商的概念興起,抖音、快手、小紅書組成的“新電商三兄弟”成為業(yè)內(nèi)一股不可忽視的勢(shì)力,給阿里、京東、拼多多帶去了巨大壓
  • 一條抖音4億人圍觀 ! 這家MCN比無(wú)憂傳媒還野

    作者:Hiu 來(lái)源:互聯(lián)網(wǎng)品牌官01 擦邊少女空降熱搜,幕后推手曝光被網(wǎng)友譽(yù)為“純欲天花板”的女網(wǎng)紅井川里予,近期因?yàn)橐唤M哥特風(fēng)照片登上熱搜,引發(fā)了一場(chǎng)互聯(lián)網(wǎng)世界關(guān)于
  • 余承東:AI大模型技術(shù)的發(fā)展將會(huì)帶來(lái)下一代智能終端操作系統(tǒng)的智慧體驗(yàn)

    8月4日消息,2023年華為開(kāi)發(fā)者大會(huì)(HDC.Together)今天正式開(kāi)幕,華為發(fā)布HarmonyOS 4、全新升級(jí)的鴻蒙開(kāi)發(fā)套件、HarmonyOS Next開(kāi)發(fā)者預(yù)覽版本等一系列
  • iQOO 11S評(píng)測(cè):行業(yè)唯一的200W標(biāo)準(zhǔn)版旗艦

    【Techweb評(píng)測(cè)】去年底,iQOO推出了“電競(jìng)旗艦”iQOO 11系列,作為一款性能強(qiáng)機(jī),該機(jī)不僅全球首發(fā)2K 144Hz E6全感屏,搭載了第二代驍龍8平臺(tái)及144Hz電競(jìng)
  • 親歷馬斯克血洗Twitter,硅谷的苦日子在后頭

    文/劉哲銘  編輯/李薇  馬斯克再次揮下裁員大刀?! ∶绹?guó)時(shí)間11月14日,Twitter約4400名外包員工遭解雇,此次被解雇的員工的主要工作為內(nèi)容審核等。此前,T
  • 北京:科技教育體驗(yàn)基地開(kāi)始登記

      北京“科技館之城”科技教育體驗(yàn)基地登記和認(rèn)證工作日前啟動(dòng)。首批北京科技教育體驗(yàn)基地?cái)M于2023年全國(guó)科普日期間掛牌,后續(xù)還將開(kāi)展常態(tài)化登記。  北京科技教育體驗(yàn)基
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产毛片精品国产一区二区三区| 欧美一区二区免费观在线| 国际精品欧美精品| 一区在线视频| 日韩视频国产视频| 亚洲女爱视频在线| 久久久精品国产免大香伊 | 好吊日精品视频| 影音先锋久久资源网| av成人黄色| 欧美自拍偷拍午夜视频| 美女尤物久久精品| 欧美一区=区| 亚洲激情视频网站| 极品中文字幕一区| 狠狠色丁香婷婷综合久久片| 国产精品久久久久秋霞鲁丝| 国产精品久久久一区麻豆最新章节 | 国产欧美视频一区二区三区| 亚洲日本中文字幕| 亚洲影视综合| 欧美 日韩 国产一区二区在线视频| 国产精品成人一区| 久久久噜噜噜| 亚洲国产一区二区视频| 国产精品99久久不卡二区 | 99精品欧美一区二区三区综合在线| 欧美另类视频在线| 亚洲精品视频中文字幕| 欧美精品一区二区三区视频| 国产精品日韩一区二区| 亚洲国产欧美在线人成| 久久美女艺术照精彩视频福利播放| 欧美激情1区2区| 亚洲精品国产精品乱码不99| 国产区二精品视| 欧美激情a∨在线视频播放| 香港久久久电影| 亚洲人www| 国产乱码精品一区二区三区av| 久久精品一区二区| 久久国产精品99久久久久久老狼| 99热在线精品观看| 久久亚洲影音av资源网| 国内精品久久久久久久影视蜜臀 | 午夜免费久久久久| 欧美日韩在线免费观看| 日韩视频在线一区| 国产欧美日韩激情| 久久婷婷国产综合精品青草 | 久久综合九色欧美综合狠狠| 欧美日韩岛国| 亚洲综合色激情五月| 久久久久久亚洲综合影院红桃 | 午夜日韩电影| 欧美裸体一区二区三区| 亚洲第一精品福利| 久久精品视频在线看| 国产精品久久久久免费a∨| 99在线精品视频| 欧美精品97| 久久全球大尺度高清视频| 国产精品爽爽爽| 亚洲永久免费观看| 国产精品久久久久久久久久ktv| 亚洲精品一二三| 玖玖国产精品视频| 极品少妇一区二区三区| 欧美在线999| 国产欧美一区二区视频| 亚洲欧美中文另类| 国产精品毛片高清在线完整版| 99热精品在线观看| 韩日欧美一区二区| 欧美日韩系列| 好吊妞这里只有精品| 亚洲伊人一本大道中文字幕| 欧美日韩国产麻豆| 最近看过的日韩成人| 欧美成人蜜桃| 91久久在线| 欧美噜噜久久久xxx| 亚洲精品午夜| 欧美日韩福利视频| 一本综合精品| 欧美无乱码久久久免费午夜一区| 一本色道久久综合狠狠躁的推荐| 欧美日韩一区三区| 中国女人久久久| 国产精品久久久久av| 亚洲性视频h| 国产精品永久免费视频| 亚洲永久免费观看| 欧美日韩视频在线一区二区观看视频| 日韩亚洲欧美中文三级| 欧美日韩视频第一区| 一本大道久久a久久综合婷婷| 欧美日韩精品中文字幕| 亚洲午夜激情网站| 国产精品视频观看| 欧美一区二区三区视频免费| 国产午夜精品理论片a级大结局 | 欧美三日本三级少妇三2023 | 欧美一区二区三区在线观看| 国产欧亚日韩视频| 久久九九热免费视频| 极品少妇一区二区| 欧美激情中文字幕一区二区| 夜色激情一区二区| 国产精品视频999| 久久精品国产77777蜜臀| 伊人久久亚洲热| 欧美激情亚洲自拍| 亚洲特级毛片| 国产一区二区日韩精品欧美精品| 美女视频黄a大片欧美| 亚洲精品在线视频| 国产精品久久久久久亚洲毛片| 欧美亚洲视频| 国产欧美日韩视频一区二区三区 | 一本色道久久99精品综合 | 国产精品青草久久| 久久国产精品久久久久久| 在线观看欧美日本| 欧美日韩一区二区三区免费| 亚洲欧美视频在线| 好看的av在线不卡观看| 欧美韩日视频| 亚洲欧美日本精品| 亚洲第一二三四五区| 欧美日韩一卡二卡| 久久久91精品国产一区二区精品| 亚洲精品美女| 国产欧美视频在线观看| 欧美91视频| 欧美一区二区三区男人的天堂 | 欧美成人免费全部| 亚洲一区二区免费在线| 影音先锋日韩有码| 国产精品久久久久久久久果冻传媒| 久久久99爱| 宅男66日本亚洲欧美视频| 国产综合网站| 免费的成人av| 国产一区二区三区久久精品| 久久在线观看视频| 一二三区精品| 韩国一区电影| 欧美涩涩视频| 久久只有精品| 亚洲一区二区三区精品在线| 一区二区三区在线免费播放| 欧美体内she精视频在线观看| 久久精品123| 亚洲午夜日本在线观看| 亚洲高清免费| 国产日韩欧美二区| 欧美日韩妖精视频| 久久综合久久88| 午夜在线精品偷拍| 日韩视频一区二区三区| 狠狠色综合网| 国产精品网站一区| 欧美日韩国产高清视频| 久久一本综合频道| 欧美一区三区二区在线观看| 日韩一级裸体免费视频| 在线播放精品| 国产亚洲观看| 国产精品欧美久久| 欧美日韩亚洲一区| 老司机精品导航| 欧美一区二区三区的| 国产精品亚洲不卡a| 久久亚洲午夜电影| 亚洲网在线观看| 亚洲精品你懂的| 亚洲大片在线| 国内精品久久久久影院优| 国产精品美女久久久久久久 | 欧美在线视频a| 亚洲欧美激情视频| 一本一本久久a久久精品综合麻豆| 亚洲高清三级视频| 激情综合色综合久久| 国产综合色产在线精品| 国产日韩精品一区二区浪潮av| 国产精品成人免费精品自在线观看| 欧美日韩精品免费看 | 欧美三日本三级少妇三2023| 欧美精品一区二区三区很污很色的| 麻豆成人综合网| 老司机午夜精品视频| 久久全球大尺度高清视频| 久久久久久夜| 麻豆成人小视频| 蘑菇福利视频一区播放| 欧美va天堂| 欧美黄色影院| 欧美日韩亚洲一区二区三区在线| 欧美日韩1234| 欧美视频一区二区三区在线观看| 欧美丝袜第一区| 国产精品美女久久久久久免费 |