diff --git a/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md b/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md
index 42fee9042b090961be2e5b9e877b1fde48180745..86e603d59d0bea51d7a431ad2db9b705a877b093 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-distributed-data.md
@@ -2448,12 +2448,21 @@ off(event:'dataChange', listener?: Callback<ChangeNotification>): void
```js
let kvStore;
-kvStore.on('dataChange', function (data) {
- console.log("callback call data: " + data);
-});
-kvStore.off('dataChange', function (data) {
- console.log("callback call data: " + data);
-});
+class KvstoreModel {
+ call(data) {
+ console.log("dataChange: " + data);
+ }
+ subscribeDataChange() {
+ if (kvStore != null) {
+ kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_REMOTE, this.call);
+ }
+ }
+ unsubscribeDataChange() {
+ if (kvStore != null) {
+ kvStore.off('dataChange', this.call);
+ }
+ }
+}
```
### off('syncComplete')9+
@@ -2475,14 +2484,20 @@ off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]&
```js
let kvStore;
-try {
- const func = function (data) {
- console.log('syncComplete ' + data)
- };
- kvStore.on('syncComplete', func);
- kvStore.off('syncComplete', func);
-}catch(e) {
- console.log('syncComplete e ' + e);
+class KvstoreModel {
+ call(data) {
+ console.log("syncComplete: " + data);
+ }
+ subscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.on('syncComplete', this.call);
+ }
+ }
+ unsubscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.off('syncComplete', this.call);
+ }
+ }
}
```
@@ -4098,14 +4113,20 @@ off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]&
```js
let kvStore;
-try {
- const func = function (data) {
- console.log('syncComplete ' + data)
- };
- kvStore.on('syncComplete', func);
- kvStore.off('syncComplete', func);
-}catch(e) {
- console.log('syncComplete e ' + e);
+class KvstoreModel {
+ call(data) {
+ console.log("syncComplete: " + data);
+ }
+ subscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.on('syncComplete', this.call);
+ }
+ }
+ unsubscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.off('syncComplete', this.call);
+ }
+ }
}
```
@@ -4154,12 +4175,21 @@ off(event:'dataChange', listener?: Callback<ChangeNotification>): void
```js
let kvStore;
-kvStore.on('dataChange', function (data) {
- console.log("callback call data: " + data);
-});
-kvStore.off('dataChange', function (data) {
- console.log("callback call data: " + data);
-});
+class KvstoreModel {
+ call(data) {
+ console.log("dataChange: " + data);
+ }
+ subscribeDataChange() {
+ if (kvStore != null) {
+ kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_REMOTE, this.call);
+ }
+ }
+ unsubscribeDataChange() {
+ if (kvStore != null) {
+ kvStore.off('dataChange', this.call);
+ }
+ }
+}
```
### sync7+
@@ -5593,14 +5623,20 @@ off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]&
```js
let kvStore;
-try {
- const func = function (data) {
- console.log('syncComplete ' + data)
- };
- kvStore.on('syncComplete', func);
- kvStore.off('syncComplete', func);
-}catch(e) {
- console.log('syncComplete e ' + e);
+class KvstoreModel {
+ call(data) {
+ console.log("syncComplete: " + data);
+ }
+ subscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.on('syncComplete', this.call);
+ }
+ }
+ unsubscribeSyncComplete() {
+ if (kvStore != null) {
+ kvStore.off('syncComplete', this.call);
+ }
+ }
}
```
@@ -5649,12 +5685,21 @@ off(event:'dataChange', listener?: Callback<ChangeNotification>): void
```js
let kvStore;
-kvStore.on('dataChange', function (data) {
- console.log("callback call data: " + data);
-});
-kvStore.off('dataChange', function (data) {
- console.log("callback call data: " + data);
-});
+class KvstoreModel {
+ call(data) {
+ console.log("dataChange: " + data);
+ }
+ subscribeDataChange() {
+ if (kvStore != null) {
+ kvStore.on('dataChange', distributedData.SubscribeType.SUBSCRIBE_TYPE_REMOTE, this.call);
+ }
+ }
+ unsubscribeDataChange() {
+ if (kvStore != null) {
+ kvStore.off('dataChange', this.call);
+ }
+ }
+}
```
## SyncMode