国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - 微信小程序請求前置的方法詳解

微信小程序請求前置的方法詳解

2022-02-15 20:02ok同學 js教程

這篇文章主要給大家介紹了關于微信小程序請求前置的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

問題

因為我們有的頁面是在onload中去請求數據回來再渲染視圖,如果我們可以將請求數據這一步提前到小程序頁面跳轉前做,就可以早一點把數據請求回來,優化的效果取決于頁面跳轉所需的時間。

需求

需要一種請求前置方法充分利用跳轉的時間,預先請求接口數據,但是要盡量減少對舊項目的改造成本。因為現在我負責的小程序項目是用axios來請求接口數據,所以這里只舉例axios中post的改造的思路。我這里是通過改寫post方法,在請求的時候對需要預先請求的接口進行緩存,等第二次請求的時候返回第一次請求的promise,從而不用再發起新請求。

具體步驟

1、改造post方法

http文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
let instance = axios.create({ // 創建axios請求實例
 // 省略部分代碼
});
 
let { post } = instance; // 保存原本的post方法
let cache = {}; // 請求緩存
 
instance.post = function(...list) {
 
 let [url, data = {}] = list;
 
 if (cache[url]) { // 返回預請求的promise
 let pre = cache[url];
 delete cache[url];
 return pre;
 }
 
 if (data.pre) { //以pre作為是否是預請求
 delete data.pre;
 cache[url] = post(...list)
 return cache[url];
 }
 
 return post(...list); //普通的請求
}

2、使用

跳轉前的頁面,即上一個頁面

?
1
2
3
4
5
6
7
8
9
10
11
12
// 省略部分代碼 ...
 
// 這是在下個頁面要去請求接口的數據,提前在wx.navigateTo跳轉前請求,并存儲下來。
$http.post('/act/activities/lucky:search', { activityId: 12 , pre: true })
 
wx.nextTick(() => { //使用wx.nextTick是讓上面的請求先發出再跳轉
 wx.navigateTo({
 url: `${TYPE_TO_ROUTE_MAP[templateType]}?id=${activity.activityId}`
 });
})
 
// 省略部分代碼 ...

效果

未使用預加載

微信小程序請求前置的方法詳解

使用預加載

微信小程序請求前置的方法詳解

兩者紅色框的寬度差,表示的是提前了多少時間去請求接口數據,大概在100ms左右。因為下面的靜態資源地址來自于接口的數據,相當于減少了堵塞后面資源加載100ms左右。

總結

  • 這個原理就是利用小程序跳轉這部分時間提前請求數據,所以對于性能差的手機受益會大一些,雖然在開發者工具看起來能省個100ms左右,但是存在以下兩個限制
  • 頁面加載完成需要預請求的接口數據里的數據
  • 需要在上一個頁面發起預請求,并對跳轉做nextTick處理

導致這個優化的收益對整個項目來說確實有些雞肋。

到此這篇關于微信小程序請求前置的文章就介紹到這了,更多相關小程序請求前置內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://juejin.cn/post/6920109343538937864

延伸 · 閱讀

精彩推薦
  • js教程JavaScript中layim之整合右鍵菜單的示例代碼

    JavaScript中layim之整合右鍵菜單的示例代碼

    這篇文章主要介紹了JavaScript中layim之整合右鍵菜單的示例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以...

    踮腳敲代碼11522022-01-19
  • js教程JavaScript中arguments的使用方法詳解

    JavaScript中arguments的使用方法詳解

    這篇文章主要給大家介紹了關于JavaScript中arguments的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    等待的L先生3732021-12-15
  • js教程js仿淘寶放大鏡效果

    js仿淘寶放大鏡效果

    這篇文章主要為大家詳細介紹了js仿淘寶放大鏡效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    屈小康11212021-12-21
  • js教程JavaScript WeakMap使用詳解

    JavaScript WeakMap使用詳解

    這篇文章主要介紹了JavaScript WeakMap使用的詳細介紹,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下...

    MDN7082022-01-17
  • js教程微信小程序自定義膠囊樣式

    微信小程序自定義膠囊樣式

    這篇文章主要為大家詳細介紹了微信小程序自定義膠囊樣式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    四曦11512021-12-21
  • js教程微信小程序實現點贊業務

    微信小程序實現點贊業務

    這篇文章主要為大家詳細介紹了微信小程序實現點贊業務,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    壞蛋先生7782022-01-20
  • js教程利用JS判斷元素是否為數組的方法示例

    利用JS判斷元素是否為數組的方法示例

    這篇文章主要給大家介紹了關于利用JS判斷元素是否為數組的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價...

    Fahrenheitzz10072021-12-29
  • js教程js+html+css實現手動輪播和自動輪播

    js+html+css實現手動輪播和自動輪播

    這篇文章主要為大家詳細介紹了js+html+css實現手動輪播和自動輪播效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考...

    南柯Seven9422021-12-22
主站蜘蛛池模板: 色悠悠视频 | 欧美精品福利视频 | 日韩大片播放器 | 国产精品视频久久久 | 深夜在线 | 99伊人 | 日日干日日爽 | 成人黄色在线观看 | 黄色在线免费 | 精品视频在线免费观看 | 成人精品一区二区三区中文字幕 | 天天看天天爽 | 国产精品免费一区二区三区四区 | 日韩久久久久久 | 在线观看特色大片免费网站 | 成人在线观看免费 | 日本中文字幕在线播放 | 久久久久.com | 国产精品资源在线 | 精品在线一区二区 | 黄色一级片毛片 | 久久久中文字幕 | 亚洲青涩在线 | 国产精品久久久久久中文字 | 丁香五月网久久综合 | 免费的污网站 | 久久资源av | 99视频网| 国产精品毛片 | 男人的天堂中文字幕 | 亚洲人成网站在e线播放 | 久久国产精品视频 | 色成人免费网站 | 日韩电影一区 | 久久av网 | 婷婷国产精品 | 91精品一区二区三区久久久久久 | 日本精品在线观看视频 | 欧美一区二区三区在线视频观看 | 国产一级一级国产 | 婷婷色视频 |