promise两种调用方式

292 阅读1分钟

一:promise方式

image.png all([promise实例化对象1,promise实例化对象2]将方法一起渲染出来, race([promise实例化对象1,promise实例化对象2]) 同时调用多个接口,谁的接口出现的数据快就用谁的

image.png

二:wxs文件过滤内容:

image.png

image.png

三:# async...await

async用于申明function异步,await用于等待一个异步方法执行完成

1、async函数返回一个 Promise 对象 首先把 getFaceResult 转化成一个async 函数,就是在其前面加async, 因为它的调用方法和普通函数的调用方法是一致,所以没有什么问题。然后就把 getLocation 和getFaceList 放到await 后面

如果请求发生异常,怎么处理? 它用的是try/catch 来捕获异常,把await 放到 try 中进行执行,如有异常,就使用catch 进行处理。

        async getFaceResult () {
            try {
                let location = await this.getLocation(this.phoneNum);
                if (location.data.success) {
                    let province = location.data.obj.province;
                    let city = location.data.obj.city;
                    let result = await this.getFaceList(province, city);
                    if (result.data.success) {
                        this.faceList = result.data.obj;
                    }
                }
            } catch(err) {
                console.log(err);
            }
        }

四:捕获错误语法

当获取成功是走try里面的函数体 错误时候走catch try{}catch{} image.png

五:es6解构两种方式

// 解构赋值 把老数组的和新数组解构 并组合成一个完整的新数组 /* goodsList:[...this.data.goodsList,...data] */ goodsList:this.data.goodsList.concat(data),

六:分包和独立分包

image.png

七:上拉刷新下拉加载

image.png

image.png