开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第24天,点击查看活动详情
支付宝小程序API分为监听事件API和功能API,
- 以
on开头的是监听事件; - 功能API又分为同步和异步的。同步带有
Sync字段,异步的没有 基础API
my.canIUse
作用:my.canIUse 是判断小程序的 API、入参或返回值、组件、属性等是否在当前版本可用的 API。
onLoad(query) {
let res=my.canIUse('view'); //该接口检测view组件在当前版本库是否可用
console.log(res)
},
应用级事件,大多和生命周期功能是一样的,只不过这些接口可以让我们在合适的时候进行调用,而生命周期是只要进入小程序或小程序页面,都会自动触发。而接口可以由开发人员决定什么时候调用,还可以取消监听。 例如:
onLoad() {
my.onAppShow(this.onAppShowHandler)
},
//监听切换到前台方法
onAppShowHandler() {
console.log('前台了,到了')
},
//取消监听切换到前台方法
offAppShowHanlder() {
my.offAppShow(this.onAppShowHandler)
},
apphide() {
console.log('监听后台加载成功')
}
my.onUnhandledRejection(callback)
my.onUnhandledRejection 是监听未处理的 Promise 拒绝事件(即 unhandledrejection 事件)的 API。当 Promise 被 reject 且没有 reject 处理器的时候,会触发 unhandledrejection 事件,该事件的回调时机和参数与 App.onUnhandledRejection 的一致。
小程序当中,所有被拒绝的Promise都会到这个函数里来。 具体使用,如果有被拒绝的Promise,那么可以进行提示。
回调函数会携带一个 Object 类型的对象,其属性如下:
| 属性 | 类型 | 说明 |
|---|---|---|
| reason | String | 拒绝原因,一般是 error 对象。 |
| promise | Promise | 被拒绝的 Promise 对象。 |
该函数也可以取消监听:
//.js
App({
onShow(options) {
const handleRejection = (res) => {
console.log(res.reason);
console.log(res.promise);
}
my.onUnhandledRejection(handleRejection);
my.offUnhandledRejection(handleRejection);
}
})