自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這個(gè)異步問(wèn)題你肯定遇到過(guò),但是會(huì)解決的并不多

開(kāi)發(fā) 前端
大家肯定遇到過(guò)這樣類似的場(chǎng)景:多個(gè) Tab 頁(yè)點(diǎn)擊切換功能,如果用戶點(diǎn)擊頻繁,很可能會(huì)出現(xiàn)當(dāng)前頁(yè)面顯示別的頁(yè)面的數(shù)據(jù)。

大家肯定遇到過(guò)這樣類似的場(chǎng)景:多個(gè) Tab 頁(yè)點(diǎn)擊切換功能,如果用戶點(diǎn)擊頻繁,很可能會(huì)出現(xiàn)當(dāng)前頁(yè)面顯示別的頁(yè)面的數(shù)據(jù)。

因?yàn)槊總€(gè)接口返回信息的時(shí)間是不同的,你不能保證先請(qǐng)求的一定最先返回?cái)?shù)據(jù),那么就很可能會(huì)出現(xiàn)停留在頁(yè)面一卻出現(xiàn)別的頁(yè)面的數(shù)據(jù)的情況。這種異步的情況術(shù)語(yǔ)稱之為異步競(jìng)態(tài)。

這時(shí)肯定有讀者會(huì)說(shuō)了,這還不簡(jiǎn)單,我能給你輕松想出好幾個(gè)解決辦法。

節(jié)流、防抖、加 Loading!

[[382204]]

這些做法固然能解決問(wèn)題,但是都治標(biāo)不治本,而且還影響了用戶體驗(yàn),其實(shí)還有種辦法能夠完美解決問(wèn)題:取消請(qǐng)求。

當(dāng)然了這個(gè)取消請(qǐng)求它只是不繼續(xù)處理接口后續(xù)的響應(yīng)了,并不是真的把請(qǐng)求給取消了。畢竟請(qǐng)求如果已經(jīng)發(fā)出去的話,我們也不能順著網(wǎng)線把它追回來(lái)。

我們這邊以 axios 為例來(lái)看看怎么取消請(qǐng)求:

  1. const CancelToken = axios.CancelToken; 
  2. const source = CancelToken.source(); 
  3.  
  4. axios.get('/user/12345', { 
  5.   cancelToken: source.token 
  6. }).catch(function (thrown) { 
  7.   if (axios.isCancel(thrown)) { 
  8.     console.log('Request canceled', thrown.message); 
  9.   } else { 
  10.     // handle error 
  11.   } 
  12. }); 
  13.  
  14. axios.post('/user/12345', { 
  15.   name: 'new name' 
  16. }, { 
  17.   cancelToken: source.token 
  18. }) 
  19.  
  20. // cancel the request (the message parameter is optional) 
  21. source.cancel('Operation canceled by the user.'); 

用法還是挺簡(jiǎn)單的,對(duì)于可能會(huì)出現(xiàn)異步競(jìng)態(tài)的情況下大家可以采用這個(gè)方法來(lái)解決。簡(jiǎn)單好用,還不會(huì)影響用戶體驗(yàn),封裝下代碼就能用起來(lái)了。

 

責(zé)任編輯:趙寧寧 來(lái)源: 前端真好玩
相關(guān)推薦

2011-04-26 09:22:05

SQLite

2019-10-28 14:07:29

研發(fā)管理技術(shù)

2020-11-08 14:38:35

JavaScript代碼開(kāi)發(fā)

2009-07-23 15:07:32

2021-05-27 09:27:35

開(kāi)發(fā)技能緩存

2021-08-29 18:36:17

MySQL技術(shù)面試題

2022-10-20 18:00:59

OCP模型參數(shù)

2024-03-18 08:14:07

SpringDAOAppConfig

2018-04-25 10:57:00

AIX報(bào)錯(cuò)vios

2020-10-12 09:49:14

C++ 開(kāi)發(fā)代碼

2023-03-13 07:41:34

分頁(yè)查詢數(shù)據(jù)排序

2017-07-14 09:29:45

AndroidWebview

2021-04-04 22:31:26

白帽子廠商漏洞

2022-04-01 14:22:52

網(wǎng)絡(luò)攻擊勒索軟件IT領(lǐng)導(dǎo)者

2019-12-05 08:44:20

MybatisSQL場(chǎng)景

2020-04-26 14:40:19

戴爾

2020-09-24 10:49:09

iOSiPadOSBug

2018-03-26 09:39:06

大數(shù)據(jù)IT互聯(lián)網(wǎng)

2021-12-26 14:32:11

緩存數(shù)據(jù)庫(kù)數(shù)據(jù)

2021-12-30 09:32:04

緩存數(shù)據(jù)庫(kù)數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)