使用 npm 包 API Promise化(微信小程式)
阿新 • • 發佈:2022-05-09
1. 基於回撥函式的非同步 API 的缺點
預設情況下,小程式官方提供的非同步 API 都是基於回撥函式實現的,例如,網路請求的 API 需要按照如下的方式呼叫:
缺點:容易造成回撥地獄的問題,程式碼的可讀性、維護性差!
2. 什麼是 API Promise 化
API Promise化,指的是通過額外的配置,將官方提供的、基於回撥函式的非同步 API,升級改造為基於 Promise 的非同步 API,從而提高程式碼的可讀性、維護性,避免回撥地獄的問題。
3. 實現 API Promise 化
在小程式中,實現 API Promise 化主要依賴於 miniprogram-api-promise
①、在專案根目錄安裝依賴包
npm i --save [email protected]
建議:安裝版本為1.0.4
②、在小程式入口檔案app.js 中,只需呼叫promiseifyAll() 方法,即可實現非同步API的Promise化
import {promisifyAll} from 'miniprogram-api-promise' const wxp = wx.p = {} promisifyAll(wx,wxp)
③、呼叫 Promise 化之後的非同步 API
//頁面.wxml結構 <van-button type="primary" bindtap="getInfo">按鈕</van-button> //在頁面.js 中定義getInfo()函式 async getInfo(){ const {data:res} = await wx.p.request({ method:'GET', url: '填寫要請求的地址', data:{ name:'cc', age: 26 } }) console.log(res);
這樣就完成小程式 Promise 化操作了