八,promise和數(shù)據(jù)共享

一,API Promise

!函數(shù)](https://upload-images.jianshu.io/upload_images/24559446-a2aa9e94f520a862.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
默認(rèn)小程序官方提供的異步API都是基于回調(diào)函數(shù)實現(xiàn)的.
缺點:容易造成回調(diào)地獄(:在回調(diào)函數(shù)中再嵌套回調(diào)函數(shù)的情況稱為回調(diào)地獄),維護(hù)性可讀性差
API Promise化:通過額外的配置,將官方提供的異步API升級為基于Promise的異步API

1.1實現(xiàn)API Promise化

            npm i --save miniprogram-api-promise@1.0.4

然后構(gòu)建npm

下一步就需要將promise這個API引用在全局(也就是app.js),這樣調(diào)用一次就可以了
調(diào)用

async getInfo() {
    const {data: res} = await wx.p.request({
        url: 'https://www.escook.cn/api/get',
        method: 'GET',
        data: {
            name: 'Cherry',
            age: 16
        }
    })
    console.log(res) // 返回值是 Promise {<pending>} 對象
//pending就是等待中的意思 待支付這些
},

async 用于申明一個 function 是異步的,而 await 用于等待一個異步方法執(zhí)行完成

二、全局?jǐn)?shù)據(jù)共享

全局?jǐn)?shù)據(jù)共享:又叫 狀態(tài)管理,是為了解決 組件之間數(shù)據(jù)共享 的問題。

小程序: mobx-miniprogram 配合 mobx-miniprogram-bindings

  • mobx-miniprogram:創(chuàng)建 Store 實例對象
  • mobx-miniprogram-bindings:用來把 Store 中的共享數(shù)據(jù)或方法綁定到組件或頁面中使用

2.1安裝MobX包

npm install --save mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1.2.1

注意:MobX 相關(guān)的包安裝完畢之后,記得刪除 miniprogram_npm,重新 構(gòu)建npm

頁面使用導(dǎo)入crateStoreBindings,組件導(dǎo)入用storeBindingsBehavior

三,分包

把一個完整的小程序項目按照需求劃分成不同的子包,構(gòu)建打包打包成不同的包,用戶可以按需加載.可以優(yōu)化小程序首次加載的啟動時間

訪問那個模塊就去下載對應(yīng)的模塊
整個小程序:不超過 16 M
單個分包/主包:不超過 2 M

在app.json中

"subpackages":{
    "root":"packageA"http://第一個分包的根目錄
    "name":"p1",//分包的名字
    "pages":[

      ]//當(dāng)前分包的所有頁面的相對路徑
}

沒寫到這里的默認(rèn)會被分配到主包進(jìn)行渲染的
獨立分包:

"independent": true

不用下載主包就可以獨立運行
引用原則:

  1. 主包無法引用分包內(nèi)的私有資源
  2. 分包之間,不能相互引用私有資源
  3. 分包可以引用主包的公共資源
  4. 包無法引用獨立分包內(nèi)的私有資源
  5. 獨立分包之間,不能相互引用私有資源
  6. 獨立分包和普通分包之間,不能相互引用私有資源
  7. 特別注意:獨立分包中不能引用主包內(nèi)的公共資源

分包預(yù)下載

"preloadRule":{
"page/message/message":{
"packages":["p1"],
"network":"wifi"
}
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容