微信小程序开发API

作者: --时间: 2022-09-29 阅读量:

微信小程序的开发框架提供了丰富的API,包括事件监听、同步API、异步API和异步API返回Promise等类型。下面是对这些不同类型API更详细的介绍:

1. 事件监听API

以“on”开头的API用于监听某个事件是否触发,例如wx.onSocketOpen、wx.onCompassChange等。这些API接受一个回调函数作为参数,当事件触发时,会调用该回调函数,并将相关数据以参数形式传入。

示例:

wx.onCompassChange(function (res) {
  console.log(res.direction)
})

2. 同步API

以“Sync”结尾的API都是同步API,例如wx.setStorageSync、wx.getSystemInfoSync等。此外,还有一些其他的同步API,如wx.createWorker、wx.getBackgroundAudioManager等,具体请参见API文档中的说明。同步API的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。

示例:

try {
  wx.setStorageSync('key', 'value')
} catch (e) {
  console.error(e)
}

3. 异步API

大多数API都是异步API,例如wx.request、wx.login等。这些API通常都接受一个Object类型的参数,其中可以按需指定success、fail和complete等回调函数来接收接口调用结果。异步API的执行结果需要通过Object类型的参数中传入的对应回调函数获取。部分异步API也会有返回值,可以用来实现更丰富的功能,例如wx.request、wx.connectSocket等。

参数名 类型 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
其他 Any - 接口定义的其他参数

示例:

wx.login({
  success(res) {
    console.log(res.code)
  }
})

4. 异步API返回Promise

基础库2.10.2版本起,异步API支持callback和promise两种调用方式。当接口参数Object对象中不包含success/fail/complete时将默认返回promise,否则仍按回调方式执行,无返回值。

注意事项

  1. 部分接口如downloadFile、request、uploadFile、connectSocket、createCamera(小游戏)本身就有返回值,它们的promisify需要开发者自行封装。
  2. 当没有回调参数时,异步接口返回promise。此时若函数调用失败进入fail逻辑,会报错提示Uncaught (in promise),开发者可通过catch来进行捕获。
  3. wx.onUnhandledRejection可以监听未处理的Promise拒绝事件。

示例:

一套系统全搞定
  • 商家管理
  • 商品管理
  • 订单管理
  • 会员管理
  • 营销中心
  • 供应链入驻
  • 财务管理
  • 支付分账
  • 商城直播
免费试用
更多产品任你选
  • B2B2C多用户商城系统

    类天猫&京东模式系统

    介绍方案
  • B2B2B电商交易系统

    全渠道订货/采购及经销商管
    理数字化系统

    获取案例
  • S2B2B电商交易系统

    上下游资源整合数字化解决方

    演示后台
  • 企业集采商城系统

    中大型企业数字化采购与交易
    系统

    模式介绍
  • 员工福利商城系统

    集福利管理、发放于一体的员工福利商城

    马上试用