- 默認超時時間和最大超時時間都是 60s
- request、uploadFile、downloadFile 的最大併發限制是 10 個
- 網絡請求的 referer header 不可設置。其格式固定爲 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 爲小程序的 appid,{version} 爲小程序的版本號,版本號爲 0 表示爲開發版、體驗版以及審覈版本,版本號爲 devtools 表示爲開發者工具,其他爲正式版本。
- 小程序進入後臺運行後(非置頂聊天),若是 5s 內網絡請求沒有結束,會回調錯誤信息 fail interrupted;在回到前臺以前,網絡請求接口調用都會沒法調用。
有時候業務上須要同時請求10個以上的連接,針對這種狀況須要延遲後續的請求,等當前請求完結後再去執行後續的請求javascript
達到併發限制數量以後,延遲以後的請求,待以前的請求結束,再去發送以前延遲的請求
緩存當前請求的數量html
// 使用閉包緩存當前的請求量 var req = (function(){ var count = 0; var counter = function() { count--; }; return function(fn) { if (count < 10) { count++; fn(counter); } else { setTimeout(req.bind(null, fn), 300); } }; })()
模擬20個異步事件java
var a = function(fn){ // 假設全部的異步事件都是2s後完成 setTimeout(()=>{ console.log(new Date().getTime().toString().slice(-4)) // 此處fn是req中的counter,在異步事件執行以後,釋放其所佔用的count fn() },2000) } var b = Array.from({length:20}); b.map(()=>req(a))
能夠看到前10個請求與後十個請求是間隔2s以後才發出的,即將請求十個一組分開,這樣就避免了10個併發請求限制下,請求丟失的問題小程序