前端如何更好的實現介面的快取和更新

時間 2021-09-08 17:44:08

1樓:悠閒的水

react的話試試swr,提供基於URL的快取,graphql的話,試試apollo,提供基於物件id的快取。

可以按照類似思路,做乙個自己的快取lib

2樓:否子戈

我寫了乙個思路奇特的庫來管理資料請求,你可以了解一下http://

比較抽象,需要花點功夫理解。簡單來說,algeb把ajax請求和前端使用資料這兩件事完完全全隔開,舉個生活中的例子,你只需要去麵包店去買麵包,而不用關心小麥的種植和收割,也不需要了解麵包的製作工藝,你只需要到麵包店拿麵包就可以了。對應到algeb裡面,麵包就是資料,麵包製作就是ajax。

有一種這樣的情況,你想去買吐司,但是新的吐司還沒做出來,但是你太餓了,麵包店給了你乙個甜甜圈充飢。同樣的道理,在algeb裡面,你同步的從algeb裡取資料,無論這個資料來源有沒有完成ajax請求,你都能取到一條能用的資料(預設值)。當吐司做好了,店員通知你,你終於吃上了吐司。

當資料從ajax完成獲取後,你的前端程式會被告知,然後用新的資料進行渲染。

前端———algeb———後端

前端不會直接管理後端介面,而只會對algeb說:我要!我要!

3樓:

我們是這麼處理的:

提供統一方法獲取或修改資料

使用sessionStorage或localStorage快取資料資料變更派發自定義事件,通知快取資料發生變化提供強制從資料介面請求資料的方法

4樓:Misko Lee

題主的這個設計和我之前完全一致。只不過用localstorage 代替了object。還實現了過期協議。

這裡,有乙個前端快取的問題。如果快取了乙個錯誤的結果,快取系統就沒有任何意義。

前端快取在沒有很強控制力的時候最好別上。會涉及到後台介面變更等等諸多問題要解決。

望三思!

5樓:已登出

不邀自來,個人覺得已經足夠優化了,如果系統比較複雜,可能會經常調整業務,不如花點心思考慮如何能夠調整起來更靈活,再搞下去,個人覺得有點過度優化。

前端開發,如何優雅的實現這樣乙個外掛程式機制?

匕首 如果可以提前定義所有型別的元件可以參考一下這個https dev.iviewui.com articles 1026690304465571840動態ajax獲取的元件沒有想好 最近正在考慮這個問題 這個是vue的方案,React的方案類似。 林一二 Stackblitz 用 SystemJS...

請問在不調EQ的情況下耳機前端是如何實現「調音」的呢?

Markus Sheng 其實也沒那麼複雜。前端,EQ,功率放大器,這些理論上都是線性時不變系統,都有自己的衝激響應 時域 或者叫傳輸函式 頻域 而我們最終聽到的聲音是各個子系統傳輸函式的線性疊加。說回前端,作為子系統之一,它自然也有自己的傳輸函式,並且由於不同型號會採用不同的運算放大器,電容,電阻...

如何和同事相處的更好?

Hakuna Matata 換個角度,從公司的角度來看,如果員工之間私交甚密會帶來什麼?情景1 A員工和B員工的資歷和職位基本相同,但A比B工資多了1000,這是很多公司都存在的情況。如果A和B是好朋友,沒事約一起唱歌K喝個酒,沒準就會私下透露自己的薪資,B知道了自己工資低,就會向老闆要求加薪,或者...