zoukankan      html  css  js  c++  java
  • 小程序结构调整之使用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 {
          //接口失败的逻辑
        }
      },
  • 相关阅读:
    【CF580D】Kefa and Dishes
    【poj3311】Hie with the Pie
    校外实习-7.7
    校外实习-7.6
    校外实习-7.5
    校外实习-7.4
    作业九-课程总结(补充)
    作业九-课程总结
    作业四——结对编程四则运算
    作业三
  • 原文地址:https://www.cnblogs.com/muzs/p/11250093.html
Copyright © 2011-2022 走看看