如何将小程序内置非promise API转换为promise对象(风袖小程序的学习)
生活随笔
收集整理的這篇文章主要介紹了
如何将小程序内置非promise API转换为promise对象(风袖小程序的学习)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
非常重要,便于項目大局觀,使用es7的 async和await
如何將小程序內置非promise API轉換為promise
這里是我封裝的一個wx.request函數如何將wx.request轉換成promise對象呢?
轉換的方法
創建一個文件夾放入代碼,回到你需要引入的地方引入即可
const promisic = function (func) {return function (params = {}) {return new Promise((resolve, reject) => {const args = Object.assign(params, {success: (res) => {resolve(res);},fail: (error) => {reject(error);}});func(args);});}; };在實戰項目中使用
import { config } from '../config/config' import { promisic } from './util' class Http {//如何讓小程序返回promise對象static async request({ url,//callback,加上async 和 await 可以當作是同步函數的調用method = "GET"}) {//把結果return回去return await promisic(wx.request) ({url: `${config.apiBaseUrl}${url}`,method//使用promise就不用使用回調success// success: res => {// callback(res.data)// }})} }// wx.request // 照常傳參 // promistic(wx.request)({ // url: '', // data: {// } // })export {Http }檢驗是否封裝http請求成功并返回promise對象
該函數十分重要可以將所有wx開頭的函數全部轉換為promise對象便于使用async 和 await來編程 非常有利于后期項目的維護和迭代
在編譯前請勾選上微信開發者工具中的增加編譯這樣才能支持es7的async和await
總結
以上是生活随笔為你收集整理的如何将小程序内置非promise API转换为promise对象(风袖小程序的学习)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发团队分配管理软件
- 下一篇: iOS开发非常用库