溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信小程序中10個(gè)請(qǐng)求并發(fā)限制的優(yōu)化消息是什么

發(fā)布時(shí)間:2021-05-19 14:29:01 來源:億速云 閱讀:410 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)微信小程序中10個(gè)請(qǐng)求并發(fā)限制的優(yōu)化消息是什么,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

10 個(gè)請(qǐng)求的并發(fā)限制

關(guān)于并發(fā)限制,微信開發(fā)者文檔中是這么寫的:

微信小程序中10個(gè)請(qǐng)求并發(fā)限制的優(yōu)化消息是什么

這一限制的意思是在同一時(shí)刻, wx.request、wx.uploadFile、wx.downloadFile 加起來的并發(fā)總數(shù)不能超出 10 個(gè)。

至今,仍有很多開發(fā)者一直遵守著這個(gè)規(guī)則。

許多人在寫業(yè)務(wù)的時(shí)候小心翼翼地維護(hù)著請(qǐng)求數(shù)。為了將請(qǐng)求數(shù)控制好,特地將一些并行請(qǐng)求改為串行,或者引入請(qǐng)求隊(duì)列來維護(hù)小程序請(qǐng)求。

這部分資深開發(fā)者為了遵守這一規(guī)則所花的功夫,多少反映出了早年他們?cè)诿鎸?duì)數(shù)額超出后請(qǐng)求被殘忍拋棄時(shí)的無奈。

附小程序基礎(chǔ)庫版本 1.3.0 的控制臺(tái)報(bào)錯(cuò):

微信小程序中10個(gè)請(qǐng)求并發(fā)限制的優(yōu)化消息是什么

時(shí)至今日,仍有開發(fā)者在討論解決小程序并發(fā)限制的方法

被忽略的消息

實(shí)際上,微信在 2017 年 7 月的基礎(chǔ)庫 1.4.0 版本升級(jí)中就做了優(yōu)化,對(duì)超過并發(fā)限制的請(qǐng)求做了隊(duì)列處理,只是還有很多開發(fā)者并不知道這一消息。

從嚴(yán)格意義上來說,此次優(yōu)化并沒有完全解除原有的并發(fā)限制。目前同時(shí)處理請(qǐng)求的上限仍是 10 個(gè),但在 10 個(gè)以外的請(qǐng)求會(huì)排隊(duì),當(dāng)前面有請(qǐng)求完成的時(shí)候,隊(duì)列中的請(qǐng)求按順序發(fā)送并處理,*不會(huì)像之前那樣直接將超出 10 個(gè)的請(qǐng)求丟棄。

附件小程序基礎(chǔ)庫 1.4.0 更新日志(部分):

微信小程序中10個(gè)請(qǐng)求并發(fā)限制的優(yōu)化消息是什么

現(xiàn)在,我們終于可以忽略請(qǐng)求并發(fā)限制,愉快地發(fā)送請(qǐng)求了。畢竟請(qǐng)求都是可以都發(fā)送出去的,只不過在效率上會(huì)比無并發(fā)限制的情況慢一些。

發(fā)送請(qǐng)求的正確姿勢(shì)

如上文所說,微信小程序是在基礎(chǔ)庫 1.4.0 版本中加入對(duì)超過并發(fā)限制的請(qǐng)求做隊(duì)列處理優(yōu)化的,在 1.4.0 以下的版本中超出并發(fā)部分的請(qǐng)求會(huì)被丟棄。

據(jù)微信官方數(shù)據(jù),截止到 2018 年 12 月,1.4.0 版本以下用戶占比大約是 0.04%,雖然目前小程序很少會(huì)兼容到這么低的版本,但是對(duì)一些有特殊需要的小程序也要注意基礎(chǔ)庫的差異。

另外要注意的是小程序并發(fā)請(qǐng)求的排隊(duì)機(jī)制。當(dāng)同時(shí)調(diào)用的請(qǐng)求超過 10 個(gè)時(shí),小程序會(huì)先發(fā)起 10 個(gè)并發(fā)請(qǐng)求,超過 10 個(gè)的部分按調(diào)用順序進(jìn)行排隊(duì),當(dāng)前一個(gè)請(qǐng)求完成時(shí),再發(fā)送隊(duì)列中的下一個(gè)請(qǐng)求。

附 20 個(gè)請(qǐng)求并發(fā)測(cè)試:

微信小程序中10個(gè)請(qǐng)求并發(fā)限制的優(yōu)化消息是什么

測(cè)試結(jié)果:

微信小程序中10個(gè)請(qǐng)求并發(fā)限制的優(yōu)化消息是什么

從圖中可以看到,前 10 個(gè)請(qǐng)求同時(shí)發(fā)出,而后面的請(qǐng)求的起始點(diǎn),對(duì)應(yīng)了前面某個(gè)請(qǐng)求的結(jié)束點(diǎn),可以反映出請(qǐng)求的排隊(duì)行為。

這意味著,在并發(fā)請(qǐng)求很多的時(shí)候應(yīng)該做好排隊(duì)策略,按請(qǐng)求的重要程度和響應(yīng)時(shí)間調(diào)整調(diào)用順序,如果遇到請(qǐng)求的響應(yīng)很慢的情況,可以考慮做 timeout 處理,以免大量等待,影響用戶體驗(yàn)。

關(guān)于“微信小程序中10個(gè)請(qǐng)求并發(fā)限制的優(yōu)化消息是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI