微信小程序开发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,否则仍按回调方式执行,无返回值。
注意事项
- 部分接口如downloadFile、request、uploadFile、connectSocket、createCamera(小游戏)本身就有返回值,它们的promisify需要开发者自行封装。
- 当没有回调参数时,异步接口返回promise。此时若函数调用失败进入fail逻辑,会报错提示Uncaught (in promise),开发者可通过catch来进行捕获。
- wx.onUnhandledRejection可以监听未处理的Promise拒绝事件。
示例:
上一篇:微信小程序开发模块化 下一篇:微信小程序开发WXML

