• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

鸿蒙OS 接口通用规则

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

同步

同步方法调用后必须等到方法结果返回后才能继续后续的行为,返回值可以是任意类型。

  • 示例

  var info = app.getInfo();
  console.log(JSON.stringify(info));

异步

异步方法调用整个过程不会阻碍调用者的工作。业务执行完成后会调用开发者提供的回调函数。

  • 异步接口支持的回调函数
回调函数 参数名 类型 返回值 说明
success data any 可选,返回值可以是任意类型,详见接口使用文档。 在执行成功时触发。
fail data any 错误信息内容,一般是字符串,也可能是其他类型,详见接口使用文档。 在执行失败时触发。
code number 错误代码,详见通用错误码
cancel data any 一般无内容,详见接口使用文档。 在用户取消时触发。部分用户交互场景可能有对该回调接口的支持。
complete - - - 在执行完成时触发。

说明

  • success、fail、cancel和complete四个回调函数是否支持参考具体接口描述

  • success、fail和cancel三个回调函数的触发是互斥的,即会且只会在一个回调函数中触发,触发任意一个都会再次调用complete回调。

  • 使用await异步调用方式,需在JS文件开头引入@babel/runtime/regenerator,示例如下:

const globalRef = Object.getPrototypeOf(global) || global

// 注入regeneratorRuntime

globalRef.regeneratorRuntime = require('@babel/runtime/regenerator')

  • 示例

  battery.getStatus({
    success: function(data) {
      console.log('success get battery level:' + data.level);
    },
    fail: function(data, code) {
      console.log('fail to get battery level code:' + code);
    },
  });

订阅

订阅接口不会立即返回结果,开发者要在参数中设置相应的回调函数;该回调函数会在完成时或者事件变化时进行回调;可以执行多次。

  • 订阅接口支持以下回调函数
回调函数 参数名 类型 返回值 说明
success data any 返回值可以是任意类型,详见接口使用文档。 接口调用成功或事件变更时触发,可能会触发多次。
fail data any 错误信息内容,一般是字符串,也可能是其他类型,详见接口使用文档。 在执行失败时触发。一旦触发该回调函数,success不会再次被调用,接口调用结束。
code number 错误代码,详见通用错误码

  • 以地理位置接口为例

  geolocation.subscribe({
    success: function(data) {
      console.log('get location. latitude:' + data.latitude);
    },
    fail: function(data, code) {
      console.log('fail to get location. code:' + code);
    },
  });

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
鸿蒙OS 轻量级智能穿戴开发概述发布时间:2022-02-02
下一篇:
鸿蒙OS JS FA调用Java PA机制概述发布时间:2022-02-02
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap