小程序結構調整之使用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 {
      //接口失敗的邏輯
    }
  },

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM