同步
同步方法调用后必须等到方法结果返回后才能继续后续的行为,返回值可以是任意类型。
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);
},
});
请发表评论