提交 31f9278b 编写于 作者: Y yangzk

新增异步生命周期接口说明

Signed-off-by: Nyangzk <yangzhongkai@huawei.com>
Change-Id: Ib9e646322d16014c6715c9dc37aba4db2e4fc80a
上级 e26db58c
...@@ -145,6 +145,29 @@ Extension生命周期回调,如果是connectAbility拉起的服务,会在onC ...@@ -145,6 +145,29 @@ Extension生命周期回调,如果是connectAbility拉起的服务,会在onC
} }
``` ```
如果生成返回值RemoteObject依赖一个异步接口,可以使用异步生命周期:
```ts
import rpc from '@ohos.rpc';
class StubTest extends rpc.RemoteObject{
constructor(des) {
super(des);
}
onConnect(code, data, reply, option) {
}
}
async function getDescriptor() {
// 调用异步函数...
return "asyncTest"
}
class ServiceExt extends ServiceExtension {
async onConnect(want) {
console.log(`onConnect , want: ${want.abilityName}`);
let descriptor = await getDescriptor();
return new StubTest(descriptor);
}
}
```
## ServiceExtensionAbility.onDisconnect ## ServiceExtensionAbility.onDisconnect
...@@ -172,6 +195,17 @@ Extension的生命周期回调,客户端执行断开连接服务时回调。 ...@@ -172,6 +195,17 @@ Extension的生命周期回调,客户端执行断开连接服务时回调。
} }
``` ```
在执行完onDisconnect生命周期回调后,应用可能会退出,从而可能导致onDisconnect中的异步函数未能正确执行,比如异步写入数据库。可以使用异步生命周期,以确保异步onDisconnect完成后再继续后续的生命周期。
```ts
class ServiceExt extends ServiceExtension {
async onDisconnect(want) {
console.log('onDisconnect, want: ${want.abilityName}');
// 调用异步函数...
}
}
```
## ServiceExtensionAbility.onReconnect ## ServiceExtensionAbility.onReconnect
onReconnect(want: Want): void; onReconnect(want: Want): void;
......
...@@ -132,6 +132,7 @@ UIAbility生命周期回调,在销毁时回调,执行资源清理等操作 ...@@ -132,6 +132,7 @@ UIAbility生命周期回调,在销毁时回调,执行资源清理等操作
**示例:** **示例:**
```ts ```ts
class MyUIAbility extends UIAbility { class MyUIAbility extends UIAbility {
onDestroy() { onDestroy() {
...@@ -140,6 +141,16 @@ UIAbility生命周期回调,在销毁时回调,执行资源清理等操作 ...@@ -140,6 +141,16 @@ UIAbility生命周期回调,在销毁时回调,执行资源清理等操作
} }
``` ```
在执行完onDestroy生命周期回调后,应用可能会退出,从而可能导致onDestroy中的异步函数未能正确执行,比如异步写入数据库。可以使用异步生命周期,以确保异步onDestroy完成后再继续后续的生命周期。
```ts
class MyUIAbility extends UIAbility {
async onDestroy() {
console.log('onDestroy');
// 调用异步函数...
}
}
```
## UIAbility.onForeground ## UIAbility.onForeground
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册