默認情況下,小程序官方提供的異步API都是基於回調函數實現的,這樣就容易造成回調地獄的問題,代碼的可讀性、維護性差。API Promise化,指的是通過額外的配置,將官方提供的、基於回調函數的異步 API,升級改造為基於 Promise 的異步 API,從而提高代碼的可讀性、維護性,避免回調地獄的問題。實現API Promise化主要依賴於miniprogram-api-promise這個第三方的 npm 包。首先需要確認已經正確安裝了node,使用的開發工具為微信官方的微信開發者工具。
在項目文件夾下對項目進行初始化,執行npm init -y 此時項目文件夾下會創建package.json文件。執行npm i --save miniprogram-api-promise安裝第三方包。此時會在項目根目錄下創建node_modules文件夾。選擇? 工具-->構建npm? 等待構建完成點擊確定,此時會創建miniprogram_npm文件夾。在入口文件app.js中按需引入。
import {promisifyAll} from "miniprogram-api-promise"
const wxp=wx.p={}
promisifyAll(wx,wxp)
然後就可以通過wx.p來調用promise化的api。舉個例子在test.js文件中
async getTestData(){
const {data:res}=await wx.p.request({methods:'GET',url: 'https://xxx.xxx.xx', })