支付宝小程序API基础API、应用级事件API

102 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第24天,点击查看活动详情

支付宝小程序API分为监听事件API和功能API,

  1. on开头的是监听事件;
  2. 功能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。当 Promisereject 且没有 reject 处理器的时候,会触发 unhandledrejection 事件,该事件的回调时机和参数与 App.onUnhandledRejection 的一致。

小程序当中,所有被拒绝的Promise都会到这个函数里来。 具体使用,如果有被拒绝的Promise,那么可以进行提示。

回调函数会携带一个 Object 类型的对象,其属性如下:

属性类型说明
reasonString拒绝原因,一般是 error 对象。
promisePromise被拒绝的 Promise 对象。

该函数也可以取消监听:

//.js
App({
  onShow(options) {
    const handleRejection = (res) => {
      console.log(res.reason);
      console.log(res.promise);
    }
    my.onUnhandledRejection(handleRejection);
    my.offUnhandledRejection(handleRejection);
  }
})

1.png