使用 npm 包②API Promise化-微信小程序开发(二十八 )

1. 基于回调函数的异步 API 的缺点

默认情况下,小程序官方提供的异步 API 都是基于回调函数实现的,例如,网络请求的 API 需要按照如下的方式调用:

      wx.request({
        method:'',
        url: '',
        data:{},
        success:()=>{},//请求成功的回调函数
        fail:()=>{},//请求失败的回调函数
        complete:()=>{}//请求完成的回调函数
      })

缺点:容易造成回调地狱的问题,代码的可读性、维护性差!

2. 什么是 API Promise 化

API Promise化,指的是通过额外的配置,将官方提供的、基于回调函数的异步 API,升级改造为基于
Promise 的异步 API,从而提高代码的可读性、维护性,避免回调地狱的问题。

3. 实现 API Promise 化

在小程序中,实现 API Promise 化主要依赖于 miniprogram-api-promise 这个第三方的 npm 包。它的安装和使用步骤如下:

npm install --save miniprogram-api-promise@1.0.4 //不指定版本号不用加 @1.0.4

//在小程序入口文件中(app.js),只需调用一次promisifyAll() 方法,
//即可实现异步 API 的Promise 化
import { promisifyAll } from 'miniprogram-api-promise'
const wxp = wx.p ={}
// promisify all wx's api
promisifyAll(wx,wxp)

单个API 的Promise 化

import { promisify } from 'miniprogram-api-promise';
// promisify single api
promisify(wx.getSystemInfo)().then(console.log)

4. 调用 Promise 化之后的异步 API

 async getInfo(){
      const { data:res } = await wx.p.request({
        method:'GET',
        url:'https://www.xxx.com/api',
        data:{ name:'zs',age:18 }
      })
      console.log(res)
    }
posted @ 2022-08-13 15:59  清和时光  阅读(131)  评论(0)    收藏  举报