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