1. 程式人生 > 其它 >使用 npm 包 API Promise化(微信小程式)

使用 npm 包 API Promise化(微信小程式)

1. 基於回撥函式的非同步 API 的缺點

預設情況下,小程式官方提供的非同步 API 都是基於回撥函式實現的,例如,網路請求的 API 需要按照如下的方式呼叫:

 缺點:容易造成回撥地獄的問題,程式碼的可讀性、維護性差!

2. 什麼是 API Promise 化

API Promise化,指的是通過額外的配置,將官方提供的、基於回撥函式的非同步 API,升級改造為基於 Promise 的非同步 API,從而提高程式碼的可讀性、維護性,避免回撥地獄的問題。

3. 實現 API Promise 化

在小程式中,實現 API Promise 化主要依賴於 miniprogram-api-promise

 這個第三方的 npm 包。它的安裝和使用步驟如下:

①、在專案根目錄安裝依賴包

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 化操作了