• 小程序结构调整之使用async和await笔记


    正好要做一个新的小程序,所有尝试着调整了一下目录结构,现在我的结构是这样晒儿的:

    主要是增加了一个model目录,这个目录现在主要通过文件保存一些公共数据,当然可以根据习惯来,比如我就放了所有的接口(api),页面路径(path),封装了一下wxrequest,环境配置。

    这些文件根据页面使用需要import到页面内。

    import api from '../../model/api.model'
    
    api.xxx //你的xxx接口名字

    这里主要要说的是怎么再小程序使用async和await

    1、由于async和await是基于promise的,所以呢我们首先用promise对请求进行封装,并返回整个promise,promise只有两种返回结果,一种是成功,一种是失败。

    function wxRequst(url, data, type) {
        return new Promise((resolve, reject) => {
            wx.request({
                url: url,
                data: data,
                method: type,
                success: function (res) {
                    if (res.statusCode) {
                        resolve(res) //成功调用resolve
                    } else {
                        reject(res) //失败调用reject
                    }
                },
                fail: function (res) {
                    reject(res)
                }
            })
        })
    }
    
    export default wxRequst

     2、因为小程序没有缺少regeneratorRuntime方法,所以能我们要先下载regenerator库,npm i regenerator 或者 点击下载:http://nodejs999.com/regenerator-runtime.rar。下载好后把runtime文件引入要使用async的页面就好了。

    import regeneratorRuntime from '../../utils/regenerator-runtime/runtime'

    现在你就可以在页面里面愉快的像这样使用了:

      async login () {
        let data = {
          ...this.data.submitVals
        }
    
        let res = await wxRequest(api.login, data, 'POST')
        let resData = res.data
    
        if (resData.errcode == 200) {
            //接口成功逻辑
        } else {
          //接口失败的逻辑
        }
      },
  • 相关阅读:
    Codeforces 834D The Bakery
    hdu 1394 Minimum Inversion Number
    Codeforces 837E Vasya's Function
    Codeforces 837D Round Subset
    Codeforces 825E Minimal Labels
    Codeforces 437D The Child and Zoo
    Codeforces 822D My pretty girl Noora
    Codeforces 799D Field expansion
    Codeforces 438D The Child and Sequence
    Codeforces Round #427 (Div. 2) Problem D Palindromic characteristics (Codeforces 835D)
  • 原文地址:https://www.cnblogs.com/muzs/p/11250093.html
Copyright © 2020-2023  润新知