小程序async分包

99 阅读1分钟

promise中的async和await

Async—声明一个异步函数(async function someName(){...})

自动将常规函数转换成Promise,返回值也是一个Promise对象

只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数

异步函数内部可以使用await

  promise的race和all方法
  
            function http1(){
                return new Promise((resolve,reject) => {
                    setTimeout(()=>{
                        resolve('AAAAAAAA')
                    },1000)
                })
            }
            function http2(){
                return new Promise((resolve,reject) => {
                    setTimeout(()=>{
                        resolve('BBBBBBB')
                    },2000)
                })
            }
            Promise.race([http1(),http2()]).then(res=>{
                   console(res)
            })

    谁快谁执行
    
    
    Promise.all([http1(),http2()]).then(res=>{
                console(res)
            })
    一起执行
        </script>

    分包:

    小程序一打开首先加载主包,然后再加载分包

    分包可以用主包内的资源,主包不可以使用分包的资源

    分包A不可以使用分包B里面的内容

    分包可以使用app.wxss里面的全局样式

    在微信小程序开发者工具里面  打开在app.json中添加如下字段

        {
          "pages":[
            "pages/index",
            "pages/logs"
          ],
          "subpackages": [
            {
              "root": "packageA",
              "pages": [
                "pages/A1",

                "pages/B1"
              ]
            }, {

              "root": "packageB",

              "name": "pack2",

              "pages": [

                "pages/A2",

                "pages/B2"
              ]
            }
          ]
        }

独立分包

会在主包加载之前调用 独立分包属于分包的一种。普通分包的所有限制都对独立分包有效

主包中的app.wxss对独立分包无效,应避免在独立分包页面中使用 app.wxss 中的样式 给packageA设置成独立分包

因为它会在主包加载前先加载

在app.json 文件中给目标分包加上''independent'':true

即独立分包