事件监听API
事件监听API以on
开头,用于监听特定事件是否触发,例如wx.onAppHide
、wx.onError
等。这类API需要传入一个回调函数作为参数。当监听的事件被触发时,系统会自动调用该回调函数,并将事件相关数据以参数形式传递到函数中。通过这种方式,开发者可以实时响应小程序运行过程中的各类事件。
同步API
同步API包括以Sync
结尾的接口(如wx.setStorageSync
、wx.getSystemInfoSync
),以及其他明确标注为同步的API(如wx.canIUse
、wx.getLaunchOptionsSync
)。同步API的特点是调用后立即返回执行结果,开发者可以直接通过函数返回值获取数据。如果执行过程中出现错误,系统会直接抛出异常,需要使用try-catch语句进行捕获和处理。同步API适合需要立即获取结果的场景,但需注意避免在主线程执行耗时操作。
wx.onCompassChange(function (res) { console.log(res.direction)})
异步API
大多数小程序API采用异步调用方式,例如wx.request
、wx.login
等。异步API接受一个Object类型的参数,该对象支持配置以下回调函数:
1. success
:接口调用成功时执行
try { wx.setStorageSync('key', 'value')} catch (e) { console.error(e)}
2. fail
:接口调用失败时执行
3. complete
:调用结束必定执行(无论成功失败)
4. 其他接口定义的参数
回调函数会收到一个包含以下字段的Object参数:
errMsg
:错误信息,成功时格式为${apiName}:ok
errCode
:错误码(部分API支持),成功时为0
其他接口返回数据
Promise化调用方式
从基础库2.10.2版本开始,异步API支持Promise和回调两种调用方式。当参数中不包含success/fail/complete回调时,API会自动返回Promise对象。开发者可以使用then/catch
语法处理调用结果,例如:
wx.request({url: ''}).then(res => {}).catch(err => {})
wx.login({ success(res) {console.log(res.code) }})
但需注意:如果调用失败且未捕获Promise拒绝,会触发Unhandled promise rejection
错误,可以通过wx.onUnhandledRejection
监听未处理的Promise拒绝事件。
特殊异步API处理
某些异步API(如wx.connectSocket
、wx.createCameraContext
)本身具有返回值,这些接口的Promise化需要开发者自行封装。在使用Promise调用方式时,如果函数执行失败,控制台会显示Unhandled promise rejection
警告。
云开发API
通过开通小程序云开发服务,开发者可以直接在小程序端调用云函数。云开发API提供了包括数据库操作、文件存储、云函数调用等后端服务能力,无需自行搭建服务器即可实现完整的小程序后端功能。这些API同样遵循小程序的标准调用规范,支持异步回调或Promise调用方式。
// callback 形式调用wx.chooseImage({ success(res) { console.log('res:', res) }})// promise 形式调用wx.chooseImage().then(res => console.log('res: ', res))
版权声明:本文为 “博览广文网” 原创文章,转载请附上原文出处链接及本声明;
工作时间:8:00-18:00
客服电话
0755-88186625
电子邮件
admin@lanyu.com
扫码二维码
获取最新动态