From 74ec4f8dfcf28fc8490dfc002f2223e65d901251 Mon Sep 17 00:00:00 2001 From: LiRui Date: Fri, 25 Aug 2023 15:09:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A4=BA=E4=BE=8B=E4=BB=A3=E7=A0=81ArkTs=20?= =?UTF-8?q?=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: LiRui --- .../data-persistence-by-preferences.md | 25 +- .../data-sync-of-distributed-data-object.md | 101 +++-- .../apis/js-apis-data-distributedobject.md | 240 +++++++++--- .../apis/js-apis-data-preferences.md | 361 +++++++++++------- 4 files changed, 488 insertions(+), 239 deletions(-) diff --git a/zh-cn/application-dev/database/data-persistence-by-preferences.md b/zh-cn/application-dev/database/data-persistence-by-preferences.md index 8385bd06cf..c5a6f64a0c 100644 --- a/zh-cn/application-dev/database/data-persistence-by-preferences.md +++ b/zh-cn/application-dev/database/data-persistence-by-preferences.md @@ -58,11 +58,13 @@ ```js import UIAbility from '@ohos.app.ability.UIAbility'; + import { BusinessError } from '@ohos.base'; + import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - dataPreferences.getPreferences(this.context, 'mystore', (err, preferences) => { + dataPreferences.getPreferences(this.context, 'myStore', (err: BusinessError, preferences: dataPreferences.Preferences) => { if (err) { console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`); return; @@ -82,12 +84,13 @@ ```js import featureAbility from '@ohos.ability.featureAbility'; + import { BusinessError } from '@ohos.base'; // 获取context let context = featureAbility.getContext(); try { - dataPreferences.getPreferences(context, 'mystore', (err, preferences) => { + dataPreferences.getPreferences(this.context, 'myStore', (err: BusinessError, preferences: dataPreferences.Preferences) => { if (err) { console.error(`Failed to get preferences. Code:${err.code},message:${err.message}`); return; @@ -157,7 +160,7 @@ ```js try { - preferences.flush((err) => { + preferences.flush((err: BusinessError) => { if (err) { console.error(`Failed to flush. Code:${err.code}, message:${err.message}`); return; @@ -174,18 +177,20 @@ 应用订阅数据变更需要指定observer作为回调方法。订阅的Key值发生变更后,当执行flush()方法时,observer被触发回调。示例代码如下所示: ```js - let observer = function (key) { - console.info('The key' + key + 'changed.'); + interface observer { + key: string } - preferences.on('change', observer); + preferences.on('change', (key: observer) => { + console.info('The key' + key + 'changed.'); + }); // 数据产生变更,由'auto'变为'manual' - preferences.put('startup', 'manual', (err) => { + preferences.put('startup', 'manual', (err: BusinessError) => { if (err) { console.error(`Failed to put the value of 'startup'. Code:${err.code},message:${err.message}`); return; } console.info("Succeeded in putting the value of 'startup'."); - preferences.flush((err) => { + preferences.flush((err: BusinessError) => { if (err) { console.error(`Failed to flush. Code:${err.code}, message:${err.message}`); return; @@ -210,7 +215,7 @@ ```js try { - dataPreferences.deletePreferences(this.context, 'mystore', (err, val) => { + dataPreferences.deletePreferences(this.context, 'myStore', (err: BusinessError) => { if (err) { console.error(`Failed to delete preferences. Code:${err.code}, message:${err.message}`); return; diff --git a/zh-cn/application-dev/database/data-sync-of-distributed-data-object.md b/zh-cn/application-dev/database/data-sync-of-distributed-data-object.md index 4dd9be9bcc..8f3cca0be0 100644 --- a/zh-cn/application-dev/database/data-sync-of-distributed-data-object.md +++ b/zh-cn/application-dev/database/data-sync-of-distributed-data-object.md @@ -151,17 +151,26 @@ // 导入模块 import distributedDataObject from '@ohos.data.distributedDataObject'; import UIAbility from '@ohos.app.ability.UIAbility'; - + import { BusinessError } from '@ohos.base'; + import window from '@ohos.window'; + + interface sourceObject{ + name: string, + age: number, + isVis: boolean + parent: { [key: string]: string }, + list: { [key: string]: string }[] + } class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { - // 创建对象,该对象包含4个属性类型:string、number、boolean和Object - let localObject = distributedDataObject.create(this.context, { + onWindowStageCreate(windowStage: window.WindowStage) { + let source: sourceObject = { name: 'jack', age: 18, isVis: false, parent: { mother: 'jack mom', father: 'jack Dad' }, list: [{ mother: 'jack mom' }, { father: 'jack Dad' }] - }); + } + let localObject: distributedDataObject.DataObject = distributedDataObject.create(this.context, source); } } ``` @@ -175,34 +184,43 @@ import featureAbility from '@ohos.ability.featureAbility'; // 获取context let context = featureAbility.getContext(); - // 创建对象,该对象包含4个属性类型:string、number、boolean和Object - let localObject = distributedDataObject.create(context, { + interface sourceObject{ + name: string, + age: number, + isVis: boolean + parent: { [key: string]: string }, + list: { [key: string]: string }[] + } + let source: sourceObject = { name: 'jack', age: 18, isVis: false, parent: { mother: 'jack mom', father: 'jack Dad' }, list: [{ mother: 'jack mom' }, { father: 'jack Dad' }] - }); + } + // 创建对象,该对象包含4个属性类型:string、number、boolean和Object + let localObject: distributedDataObject.DataObject = distributedDataObject.create(context, source); ``` 4. 加入同步组网。同步组网中的数据对象分为发起方和被拉起方。 ```js // 设备1加入sessionId - let sessionId = '123456'; + let sessionId: string = '123456'; localObject.setSessionId(sessionId); // 和设备1协同的设备2加入同一个session // 创建对象,该对象包含4个属性类型:string、number、boolean和Object - let remoteObject = distributedDataObject.create(this.context, { + let remoteSource: sourceObject = { name: undefined, age: undefined, // undefined表示数据来自对端 isVis: true, parent: undefined, list: undefined - }); + } + let remoteObject: distributedDataObject.DataObject = distributedDataObject.create(this.context, remoteSource); // 收到status上线后remoteObject同步数据,即name变成jack,age是18 remoteObject.setSessionId(sessionId); ``` @@ -210,18 +228,19 @@ 5. 监听对象数据变更。可监听对端数据的变更,以callback作为变更回调实例。 ```js - function changeCallback(sessionId, changeData) { - console.info(`change: ${sessionId}`); - - if (changeData !== null && changeData !== undefined) { - changeData.forEach(element => { - console.info(`The element ${localObject[element]} changed.`); - }); - } + interface ChangeCallback { + sessionId: string, + fields: Array } - // 发起方要在changeCallback里刷新界面,则需要将正确的this绑定给changeCallback - localObject.on("change", this.changeCallback.bind(this)); + localObject.on("change", (changeData:ChangeCallback) => { + console.info("change" + changeData.sessionId); + if (changeData.fields != null && changeData.fields != undefined) { + for (let index: number = 0; index < changeData.fields.length; index++) { + console.info(`The element ${localObject[changeData.fields[index]]} changed.`); + } + } + }); ``` 6. 修改对象属性,对象属性支持基本类型(数字类型、布尔类型、字符串类型)以及复杂类型(数组、基本类型嵌套等)。 @@ -256,7 +275,14 @@ ```js // 删除变更回调changeCallback - localObject.off('change', this.changeCallback); + localObject.off('change',(changeData: ChangeCallback) => { + console.info("change" + changeData.sessionId); + if (changeData.fields != null && changeData.fields != undefined) { + for (let index: number = 0; index < changeData.fields.length; index++) { + console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]); + } + } + }); // 删除所有的变更回调 localObject.off('change'); ``` @@ -264,27 +290,32 @@ 9. 监听分布式数据对象的上下线。可以监听对端分布式数据对象的上下线。 ```js - function statusCallback(sessionId, networkId, status) { - // 业务处理 + interface onStatusCallback { + sessionId: string, + networkId: string, + status: 'online' | 'offline' } - localObject.on('status', this.statusCallback); + localObject.on('status', (statusCallback: onStatusCallback) => { + console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.networkId); + // 业务处理 + }); ``` 10. 保存和撤回已保存的数据对象。 ```js // 保存数据对象,如果应用退出后组网内设备需要恢复对象数据时调用 - localObject.save('local').then((result) => { + localObject.save("local").then((result: distributedDataObject.SaveSuccessResponse) => { console.info(`Succeeded in saving. SessionId:${result.sessionId},version:${result.version},deviceId:${result.deviceId}`); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error(`Failed to save. Code:${err.code},message:${err.message}`); }); // 撤回保存的数据对象 - localObject.revokeSave().then((result) => { + localObject.revokeSave().then((result: distributedDataObject.RevokeSaveSuccessResponse) => { console.info(`Succeeded in revokeSaving. Session:${result.sessionId}`); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error(`Failed to revokeSave. Code:${err.code},message:${err.message}`); }); ``` @@ -292,8 +323,16 @@ 11. 删除监听分布式数据对象的上下线。可以指定删除监听的上下线回调;也可以不指定,这将会删除该分布式数据对象的所有上下线回调。 ```js + interface offStatusCallback { + sessionId: string, + deviceId: string, + status: 'online' | 'offline' + } // 删除上下线回调statusCallback - localObject.off('status', this.statusCallback); + localObject.off('status', (statusCallback: offStatusCallback) => { + console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.deviceId); + // 业务处理 + }); // 删除所有的上下线回调 localObject.off('status'); ``` @@ -302,7 +341,7 @@ ```js localObject.setSessionId(() => { - console.info('leave all lession.'); + console.info('leave all session.'); }); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md b/zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md index 26a3254206..4cc5b90e71 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md @@ -42,10 +42,20 @@ FA模型示例: // 导入模块 import distributedObject from '@ohos.data.distributedDataObject'; import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base'; // 获取context let context = featureAbility.getContext(); -// 创建对象,该对象包含4个属性类型:string、number、boolean和Object -let g_object = distributedObject.create(context, {name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); +interface sourceObject{ + name: string, + age: number, + isVis: boolean +} +let source: sourceObject = { + name: "amy", + age:18, + isVis:false +} +let g_object: distributedObject.DataObject = distributedObject.create(context, source); ``` Stage模型示例: @@ -54,13 +64,23 @@ Stage模型示例: // 导入模块 import distributedObject from '@ohos.data.distributedDataObject'; import UIAbility from '@ohos.app.ability.UIAbility'; - -let g_object = null; - +import { BusinessError } from '@ohos.base'; +import window from '@ohos.window'; + +let g_object: distributedObject.DataObject = null; +interface sourceObject{ + name: string, + age: number, + isVis: boolean +} class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage){ - // 创建对象,该对象包含4个属性类型:string、number、boolean和Object - g_object = distributedObject.create(this.context, {name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); + onWindowStageCreate(windowStage: window.WindowStage) { + let source: sourceObject = { + name: "amy", + age:18, + isVis:false + } + g_object = distributedObject.create(this.context, source); } } ``` @@ -83,7 +103,7 @@ genSessionId(): string ```js import distributedObject from '@ohos.data.distributedDataObject'; -let sessionId = distributedObject.genSessionId(); +let sessionId: string = distributedObject.genSessionId(); ``` ## SaveSuccessResponse9+ @@ -179,7 +199,7 @@ g_object.setSessionId(distributedObject.genSessionId(), ()=>{ }); // 退出分布式组网 g_object.setSessionId(() => { - console.info("leave all lession."); + console.info("leave all session."); }); ``` @@ -219,13 +239,13 @@ setSessionId(sessionId?: string): Promise<void> // g_object加入分布式组网 g_object.setSessionId(distributedObject.genSessionId()).then (()=>{ console.info("join session."); - }).catch((error)=>{ + }).catch((error: BusinessError)=>{ console.info("error:" + error.code + error.message); }); // 退出分布式组网 g_object.setSessionId().then (()=>{ - console.info("leave all lession."); - }).catch((error)=>{ + console.info("leave all session."); + }).catch((error: BusinessError)=>{ console.info("error:" + error.code + error.message); }); ``` @@ -248,15 +268,18 @@ on(type: 'change', callback: Callback<{ sessionId: string, fields: Array<stri **示例:** ```js -globalThis.changeCallback = (sessionId, changeData) => { - console.info("change" + sessionId); - if (changeData != null && changeData != undefined) { - changeData.forEach(element => { - console.info("changed !" + element + " " + g_object[element]); - }); - } +interface ChangeCallback { + sessionId: string, + fields: Array } -g_object.on("change", globalThis.changeCallback); +g_object.on("change", (changeData: ChangeCallback) => { + console.info("change" + changeData.sessionId); + if (changeData.fields != null && changeData.fields != undefined) { + for (let index: number = 0; index < changeData.fields.length; index++) { + console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]); + } + } +}); ``` ### off('change')9+ @@ -279,7 +302,14 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array<st ```js // 删除数据变更回调changeCallback -g_object.off("change", globalThis.changeCallback); +g_object.off("change", (changeData:ChangeCallback) => { + console.info("change" + changeData.sessionId); + if (changeData.fields != null && changeData.fields != undefined) { + for (let index: number = 0; index < changeData.fields.length; index++) { + console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]); + } + } +}); // 删除所有的数据变更回调 g_object.off("change"); ``` @@ -302,10 +332,15 @@ on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, st **示例:** ```js -globalThis.statusCallback = (sessionId, networkId, status) => { - globalThis.response += "status changed " + sessionId + " " + status + " " + networkId; +interface onStatusCallback { + sessionId: string, + networkId: string, + status: 'online' | 'offline' } -g_object.on("status", globalThis.statusCallback); + +g_object.on("status", (statusCallback:onStatusCallback) => { + console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.networkId); +}); ``` ### off('status')9+ @@ -327,11 +362,15 @@ off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, s **示例:** ```js -globalThis.statusCallback = (sessionId, networkId, status) => { - globalThis.response += "status changed " + sessionId + " " + status + " " + networkId; +interface offStatusCallback { + sessionId: string, + networkId: string, + status: 'online' | 'offline' } // 删除上下线回调changeCallback -g_object.off("status",globalThis.statusCallback); +g_object.off("status", (statusCallback:StatusCallback) => { + console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.networkId); +}); // 删除所有的上下线回调 g_object.off("status"); ``` @@ -363,7 +402,7 @@ save(deviceId: string, callback: AsyncCallback<SaveSuccessResponse>): void ```ts g_object.setSessionId("123456"); -g_object.save("local", (err, result) => { +g_object.save("local", (err: BusinessError, result:distributedObject.SaveSuccessResponse) => { if (err) { console.info("save failed, error code = " + err.code); console.info("save failed, error message: " + err.message); @@ -408,12 +447,12 @@ save(deviceId: string): Promise<SaveSuccessResponse> ```js g_object.setSessionId("123456"); -g_object.save("local").then((result) => { +g_object.save("local").then((result: distributedObject.SaveSuccessResponse) => { console.info("save callback"); console.info("save sessionId " + result.sessionId); console.info("save version " + result.version); console.info("save deviceId " + result.deviceId); -}).catch((err) => { +}).catch((err: BusinessError) => { console.info("save failed, error code = " + err.code); console.info("save failed, error message: " + err.message); }); @@ -441,7 +480,7 @@ revokeSave(callback: AsyncCallback<RevokeSaveSuccessResponse>): void ```js g_object.setSessionId("123456"); // 持久化数据 -g_object.save("local", (err, result) => { +g_object.save("local", (err: BusinessError, result: distributedObject.SaveSuccessResponse) => { if (err) { console.info("save failed, error code = " + err.code); console.info("save failed, error message: " + err.message); @@ -453,7 +492,7 @@ g_object.save("local", (err, result) => { console.info("save deviceId: " + result.deviceId); }); // 删除持久化保存的数据 -g_object.revokeSave((err, result) => { +g_object.revokeSave((err: BusinessError, result: distributedObject.RevokeSaveSuccessResponse) => { if (err) { console.info("revokeSave failed, error code = " + err.code); console.info("revokeSave failed, error message: " + err.message); @@ -486,20 +525,20 @@ revokeSave(): Promise<RevokeSaveSuccessResponse> ```ts g_object.setSessionId("123456"); // 持久化数据 -g_object.save("local").then((result) => { +g_object.save("local").then((result: distributedObject.SaveSuccessResponse) => { console.info("save callback"); console.info("save sessionId " + result.sessionId); console.info("save version " + result.version); console.info("save deviceId " + result.deviceId); -}).catch((err) => { +}).catch((err: BusinessError) => { console.info("save failed, error code = " + err.code); console.info("save failed, error message: " + err.message); }); // 删除持久化保存的数据 -g_object.revokeSave().then((result) => { +g_object.revokeSave().then((result: distributedObject.RevokeSaveSuccessResponse) => { console.info("revokeSave callback"); console.info("sessionId" + result.sessionId); -}).catch((err)=> { +}).catch((err: BusinessError)=> { console.info("revokeSave failed, error code = " + err.code); console.info("revokeSave failed, error message = " + err.message); }); @@ -534,8 +573,17 @@ createDistributedObject(source: object): DistributedObject ```js import distributedObject from '@ohos.data.distributedDataObject'; -// 创建对象,对象包含4个属性类型,string,number,boolean和Object -let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); +interface sourceObject{ + name: string, + age: number, + isVis: boolean +} +let source: sourceObject = { + name: "amy", + age:18, + isVis:false +} +let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source); ``` ## DistributedObject(deprecated) @@ -572,7 +620,17 @@ setSessionId(sessionId?: string): boolean ```js import distributedObject from '@ohos.data.distributedDataObject'; -let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}});; +interface sourceObject{ + name: string, + age: number, + isVis: boolean +} +let source: sourceObject = { + name: "amy", + age:18, + isVis:false +} +let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source); // g_object加入分布式组网 g_object.setSessionId(distributedObject.genSessionId()); // 设置为""退出分布式组网 @@ -602,16 +660,29 @@ on(type: 'change', callback: Callback<{ sessionId: string, fields: Array<stri ```js import distributedObject from '@ohos.data.distributedDataObject'; -let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); -globalThis.changeCallback = (sessionId, changeData) => { - console.info("change" + sessionId); - if (changeData != null && changeData != undefined) { - changeData.forEach(element => { - console.info("changed !" + element + " " + g_object[element]); - }); - } +interface sourceObject{ + name: string, + age: number, + isVis: boolean } -g_object.on("change", globalThis.changeCallback); +interface ChangeCallback { + sessionId: string, + fields: Array +} +let source: sourceObject = { + name: "amy", + age:18, + isVis:false +} +let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source); +g_object.on("change", (changeData:ChangeCallback) => { + console.info("change" + changeData.sessionId); + if (changeData.fields != null && changeData.fields != undefined) { + for (let index: number = 0; index < changeData.fields.length; index++) { + console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]); + } + } +}); ``` ### off('change')(deprecated) @@ -638,9 +709,30 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array<st ```js import distributedObject from '@ohos.data.distributedDataObject'; -let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); +interface sourceObject{ + name: string, + age: number, + isVis: boolean +} +interface ChangeCallback { + sessionId: string, + fields: Array +} +let source: sourceObject = { + name: "amy", + age:18, + isVis:false +} +let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source); // 删除数据变更回调changeCallback -g_object.off("change", globalThis.changeCallback); +g_object.off("change", (changeData:ChangeCallback) => { + console.info("change" + changeData.sessionId); + if (changeData.fields != null && changeData.fields != undefined) { + for (let index: number = 0; index < changeData.fields.length; index++) { + console.info("changed !" + changeData.fields[index] + " " + g_object[changeData.fields[index]]); + } + } +}); // 删除所有的数据变更回调 g_object.off("change"); ``` @@ -668,11 +760,27 @@ on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, st ```js import distributedObject from '@ohos.data.distributedDataObject'; -globalThis.statusCallback = (sessionId, networkId, status) => { - globalThis.response += "status changed " + sessionId + " " + status + " " + networkId; + +interface sourceObject{ + name: string, + age: number, + isVis: boolean +} +interface StatusCallback { + sessionId: string, + networkId: string, + status: 'online' | 'offline' } -let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); -g_object.on("status", globalThis.statusCallback); +let source: sourceObject = { + name: "amy", + age:18, + isVis:false +} +let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source); + +g_object.on("status", (statusCallback:StatusCallback) => { + console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.networkId); +}); ``` ### off('status')(deprecated) @@ -699,12 +807,26 @@ off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, s ```js import distributedObject from '@ohos.data.distributedDataObject'; -let g_object = distributedObject.createDistributedObject({name:"Amy", age:18, isVis:false, parent:{mother:"jack mom",father:"jack Dad"}}); -globalThis.statusCallback = (sessionId, networkId, status) => { - globalThis.response += "status changed " + sessionId + " " + status + " " + networkId; +interface sourceObject{ + name: string, + age: number, + isVis: boolean +} +interface offStatusCallback { + sessionId: string, + deviceId: string, + status: 'online' | 'offline' } +let source: sourceObject = { + name: "amy", + age:18, + isVis:false +} +let g_object: distributedObject.DistributedObject = distributedObject.createDistributedObject(source); // 删除上下线回调changeCallback -g_object.off("status",globalThis.statusCallback); +g_object.off("status", (statusCallback:offStatusCallback) => { + console.info("status changed " + statusCallback.sessionId + " " + statusCallback.status + " " + statusCallback.deviceId); +}); // 删除所有的上下线回调 g_object.off("status"); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md b/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md index 7b5075441c..b9ea1bd0f9 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md @@ -49,11 +49,13 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base'; + let context = featureAbility.getContext(); -let preferences = null; +let preferences: data_preferences.Preferences = null; try { - data_preferences.getPreferences(context, 'mystore', function (err, val) { + data_preferences.getPreferences(context, 'myStore', (err: BusinessError, val: data_preferences.Preferences) => { if (err) { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); return; @@ -70,16 +72,18 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base'; +import window from '@ohos.window'; -let preferences = null; +let preferences: data_preferences.Preferences = null; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - data_preferences.getPreferences(this.context, 'mystore', function (err, val) { + data_preferences.getPreferences(this.context, 'myStore', (err: BusinessError, val: data_preferences.Preferences) => { if (err) { - console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); - return; + console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); + return; } preferences = val; console.info("Succeeded in getting preferences."); @@ -119,15 +123,17 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' + let context = featureAbility.getContext(); -let preferences = null; +let preferences: data_preferences.Preferences = null; try { - let promise = data_preferences.getPreferences(context, 'mystore'); - promise.then((object) => { + let promise = data_preferences.getPreferences(context, 'myStore'); + promise.then((object: data_preferences.Preferences) => { preferences = object; console.info("Succeeded in getting preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -139,17 +145,19 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; -let preferences = null; +let preferences: data_preferences.Preferences = null; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - let promise = data_preferences.getPreferences(this.context, 'mystore'); - promise.then((object) => { + let promise = data_preferences.getPreferences(this.context, 'myStore'); + promise.then((object: data_preferences.Preferences) => { preferences = object; console.info("Succeeded in getting preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -191,11 +199,14 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' + let context = featureAbility.getContext(); -let preferences = null; +let preferences: data_preferences.Preferences = null; try { - data_preferences.getPreferences(context, { name: 'mystore' }, function (err, val) { + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + data_preferences.getPreferences(context, options, (err: BusinessError, val: data_preferences.Preferences) => { if (err) { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); return; @@ -213,13 +224,16 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; -let preferences = null; +let preferences: data_preferences.Preferences = null; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - data_preferences.getPreferences(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err, val) { + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + data_preferences.getPreferences(this.context, options, (err: BusinessError, val: data_preferences.Preferences) => { if (err) { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); return; @@ -271,15 +285,17 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' let context = featureAbility.getContext(); -let preferences = null; +let preferences: data_preferences.Preferences = null; try { - let promise = data_preferences.getPreferences(context, { name: 'mystore' }); - promise.then((object) => { + let options: data_preferences.Options = { name: 'myStore' }; + let promise = data_preferences.getPreferences(context, options); + promise.then((object: data_preferences.Preferences) => { preferences = object; console.info("Succeeded in getting preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -291,17 +307,20 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; -let preferences = null; +let preferences: data_preferences.Preferences = null; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - let promise = data_preferences.getPreferences(this.context, { name: 'mystore', dataGroupId:'myId' }); - promise.then((object) => { + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + let promise = data_preferences.getPreferences(this.context, options); + promise.then((object: data_preferences.Preferences) => { preferences = object; console.info("Succeeded in getting preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -348,11 +367,14 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' + let context = featureAbility.getContext(); -let preferences = null; +let preferences: data_preferences.Preferences = null; try { - preferences = data_preferences.getPreferencesSync(context, { name: 'mystore' }); + let options: data_preferences.Options = { name: 'myStore' }; + preferences = data_preferences.getPreferencesSync(context, options); } catch(err) { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); } @@ -362,12 +384,16 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; -let preferences = null; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; + +let preferences: data_preferences.Preferences = null; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - preferences = data_preferences.getPreferencesSync(this.context, { name: 'mystore', dataGroupId:'myId' }); + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + preferences = data_preferences.getPreferencesSync(this.context, options); } catch(err) { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); } @@ -408,10 +434,12 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' + let context = featureAbility.getContext(); try { - data_preferences.deletePreferences(context, 'mystore', function (err) { + data_preferences.deletePreferences(context, 'myStore', (err: BusinessError) => { if (err) { console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); return; @@ -427,11 +455,13 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - data_preferences.deletePreferences(this.context, 'mystore', function (err) { + data_preferences.deletePreferences(this.context, 'myStore', (err: BusinessError) => { if (err) { console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); return; @@ -483,13 +513,15 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' + let context = featureAbility.getContext(); try { - let promise = data_preferences.deletePreferences(context, 'mystore'); + let promise = data_preferences.deletePreferences(context, 'myStore'); promise.then(() => { console.info("Succeeded in deleting preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -501,14 +533,16 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try{ - let promise = data_preferences.deletePreferences(this.context, 'mystore'); + let promise = data_preferences.deletePreferences(this.context, 'myStore'); promise.then(() => { console.info("Succeeded in deleting preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -553,10 +587,13 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' + let context = featureAbility.getContext(); try { - data_preferences.deletePreferences(context, { name: 'mystore' }, function (err) { + let options: data_preferences.Options = { name: 'myStore' }; + data_preferences.deletePreferences(context, options, (err: BusinessError) => { if (err) { console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); return; @@ -572,11 +609,14 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - data_preferences.deletePreferences(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err) { + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + data_preferences.deletePreferences(this.context, options, (err: BusinessError) => { if (err) { console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); return; @@ -631,13 +671,16 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' + let context = featureAbility.getContext(); try { - let promise = data_preferences.deletePreferences(context, { name: 'mystore' }); + let options: data_preferences.Options = { name: 'myStore' }; + let promise = data_preferences.deletePreferences(context, options); promise.then(() => { console.info("Succeeded in deleting preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -649,14 +692,17 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try{ - let promise = data_preferences.deletePreferences(this.context, { name: 'mystore', dataGroupId:'myId' }); + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + let promise = data_preferences.deletePreferences(this.context, options); promise.then(() => { console.info("Succeeded in deleting preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -694,9 +740,11 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' + let context = featureAbility.getContext(); try { - data_preferences.removePreferencesFromCache(context, 'mystore', function (err) { + data_preferences.removePreferencesFromCache(context, 'myStore', (err: BusinessError) => { if (err) { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); return; @@ -712,11 +760,13 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - data_preferences.removePreferencesFromCache(this.context, 'mystore', function (err) { + data_preferences.removePreferencesFromCache(this.context, 'myStore', (err: BusinessError) => { if (err) { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); return; @@ -762,12 +812,14 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' + let context = featureAbility.getContext(); try { - let promise = data_preferences.removePreferencesFromCache(context, 'mystore'); + let promise = data_preferences.removePreferencesFromCache(context, 'myStore'); promise.then(() => { console.info("Succeeded in removing preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -779,14 +831,16 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - let promise = data_preferences.removePreferencesFromCache(this.context, 'mystore'); + let promise = data_preferences.removePreferencesFromCache(this.context, 'myStore'); promise.then(() => { console.info("Succeeded in removing preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -824,7 +878,7 @@ FA模型示例: import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); try { - data_preferences.removePreferencesFromCacheSync(context, 'mystore'); + data_preferences.removePreferencesFromCacheSync(context, 'myStore'); } catch(err) { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); } @@ -836,9 +890,9 @@ Stage模型示例: import UIAbility from '@ohos.app.ability.UIAbility'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - data_preferences.removePreferencesFromCacheSync(this.context, 'mystore'); + data_preferences.removePreferencesFromCacheSync(this.context, 'myStore'); } catch(err) { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); } @@ -882,9 +936,11 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' let context = featureAbility.getContext(); try { - data_preferences.removePreferencesFromCache(context, { name: 'mystore' }, function (err) { + let options: data_preferences.Options = { name: 'myStore' }; + data_preferences.removePreferencesFromCache(context, options, (err: BusinessError) => { if (err) { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); return; @@ -900,11 +956,14 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - data_preferences.removePreferencesFromCache(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err) { + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + data_preferences.removePreferencesFromCache(this.context, options, (err: BusinessError) => { if (err) { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); return; @@ -959,12 +1018,14 @@ FA模型示例: ```js // 获取context import featureAbility from '@ohos.ability.featureAbility'; +import { BusinessError } from '@ohos.base' let context = featureAbility.getContext(); try { - let promise = data_preferences.removePreferencesFromCache(context, { name: 'mystore' }); + let options: data_preferences.Options = { name: 'myStore' }; + let promise = data_preferences.removePreferencesFromCache(context, options); promise.then(() => { console.info("Succeeded in removing preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -976,14 +1037,17 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import { BusinessError } from '@ohos.base' +import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - let promise = data_preferences.removePreferencesFromCache(this.context, { name: 'mystore', dataGroupId:'myId' }); + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + let promise = data_preferences.removePreferencesFromCache(this.context, options); promise.then(() => { console.info("Succeeded in removing preferences."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -1030,7 +1094,8 @@ FA模型示例: import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); try { - data_preferences.removePreferencesFromCacheSync(context, { name: 'mystore' }); + let options: data_preferences.Options = { name: 'myStore' }; + data_preferences.removePreferencesFromCacheSync(context, options); } catch(err) { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); } @@ -1040,11 +1105,13 @@ Stage模型示例: ```ts import UIAbility from '@ohos.app.ability.UIAbility'; +import window from '@ohos.window'; class EntryAbility extends UIAbility { - onWindowStageCreate(windowStage) { + onWindowStageCreate(windowStage: window.WindowStage) { try { - data_preferences.removePreferencesFromCacheSync(this.context, { name: 'mystore', dataGroupId:'myId' }); + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + data_preferences.removePreferencesFromCacheSync(this.context, options); } catch(err) { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); } @@ -1090,7 +1157,7 @@ get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>): ```js try { - preferences.get('startup', 'default', function (err, val) { + preferences.get('startup', 'default', (err: BusinessError, val: data_preferences.ValueType) => { if (err) { console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message); return; @@ -1129,9 +1196,9 @@ get(key: string, defValue: ValueType): Promise<ValueType> ```js try { let promise = preferences.get('startup', 'default'); - promise.then((data) => { + promise.then((data: data_preferences.ValueType) => { console.info("Succeeded in getting value of 'startup'. Data: " + data); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -1164,7 +1231,7 @@ getSync(key: string, defValue: ValueType): ValueType ```js try { - let value = preferences.getSync('startup', 'default'); + let value: data_preferences.ValueType = preferences.getSync('startup', 'default'); console.info("Succeeded in getting value of 'startup'. Data: " + value); } catch(err) { console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message); @@ -1189,14 +1256,14 @@ getAll(callback: AsyncCallback<Object>): void; ```js try { - preferences.getAll(function (err, value) { + preferences.getAll((err: BusinessError, value: data_preferences.ValueType) => { if (err) { console.error("Failed to get all key-values. code =" + err.code + ", message =" + err.message); return; } - let allKeys = Object.keys(value); - console.info("getAll keys = " + allKeys); - console.info("getAll object = " + JSON.stringify(value)); + let allKeys = Object.keys(value); + console.info("getAll keys = " + allKeys); + console.info("getAll object = " + JSON.stringify(value)); }) } catch (err) { console.error("Failed to get all key-values. code =" + err.code + ", message =" + err.message); @@ -1223,11 +1290,11 @@ getAll(): Promise<Object> ```js try { let promise = preferences.getAll(); - promise.then((value) => { + promise.then((value: data_preferences.ValueType) => { let allKeys = Object.keys(value); console.info('getAll keys = ' + allKeys); console.info("getAll object = " + JSON.stringify(value)); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to get all key-values. code =" + err.code + ", message =" + err.message); }) } catch (err) { @@ -1282,7 +1349,7 @@ put(key: string, value: ValueType, callback: AsyncCallback<void>): void ```js try { - preferences.put('startup', 'auto', function (err) { + preferences.put('startup', 'auto', (err: BusinessError) => { if (err) { console.error("Failed to put value of 'startup'. code =" + err.code + ", message =" + err.message); return; @@ -1323,7 +1390,7 @@ try { let promise = preferences.put('startup', 'auto'); promise.then(() => { console.info("Succeeded in putting value of 'startup'."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to put value of 'startup'. code =" + err.code +", message =" + err.message); }) } catch(err) { @@ -1377,7 +1444,7 @@ has(key: string, callback: AsyncCallback<boolean>): void ```js try { - preferences.has('startup', function (err, val) { + preferences.has('startup', (err: BusinessError, val: boolean) => { if (err) { console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message); return; @@ -1387,7 +1454,7 @@ try { } else { console.info("The key 'startup' dose not contain."); } - }) + }) } catch (err) { console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message); } @@ -1419,15 +1486,15 @@ has(key: string): Promise<boolean> ```js try { let promise = preferences.has('startup'); - promise.then((val) => { + promise.then((val: boolean) => { if (val) { console.info("The key 'startup' is contained."); } else { console.info("The key 'startup' dose not contain."); } - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message); - }) + }) } catch(err) { console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message); } @@ -1458,7 +1525,7 @@ hasSync(key: string): boolean ```js try { - let isExist = preferences.hasSync('startup'); + let isExist: boolean = preferences.hasSync('startup'); if (isExist) { console.info("The key 'startup' is contained."); } else { @@ -1489,7 +1556,7 @@ delete(key: string, callback: AsyncCallback<void>): void ```js try { - preferences.delete('startup', function (err) { + preferences.delete('startup', (err: BusinessError) => { if (err) { console.error("Failed to delete the key 'startup'. code =" + err.code + ", message =" + err.message); return; @@ -1529,7 +1596,7 @@ try { let promise = preferences.delete('startup'); promise.then(() => { console.info("Succeeded in deleting the key 'startup'."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to delete the key 'startup'. code =" + err.code +", message =" + err.message); }) } catch(err) { @@ -1581,7 +1648,7 @@ flush(callback: AsyncCallback<void>): void ```js try { - preferences.flush(function (err) { + preferences.flush((err: BusinessError) => { if (err) { console.error("Failed to flush. code =" + err.code + ", message =" + err.message); return; @@ -1615,7 +1682,7 @@ try { let promise = preferences.flush(); promise.then(() => { console.info("Succeeded in flushing."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to flush. code =" + err.code + ", message =" + err.message); }) } catch (err) { @@ -1642,7 +1709,7 @@ clear(callback: AsyncCallback<void>): void ```js try { - preferences.clear(function (err) { + preferences.clear((err: BusinessError) =>{ if (err) { console.error("Failed to clear. code =" + err.code + ", message =" + err.message); return; @@ -1676,7 +1743,7 @@ try { let promise = preferences.clear(); promise.then(() => { console.info("Succeeded in clearing."); - }).catch((err) => { + }).catch((err: BusinessError) => { console.error("Failed to clear. code =" + err.code + ", message =" + err.message); }) } catch(err) { @@ -1722,29 +1789,31 @@ on(type: 'change', callback: Callback<{ key : string }>): void **示例:** ```js +interface observer { + key: string +} try { - data_preferences.getPreferences(this.context, 'mystore', function (err, preferences) { + data_preferences.getPreferences(this.context, 'myStore', (err: BusinessError, preferences: data_preferences.Preferences) => { if (err) { console.error("Failed to get preferences."); return; } - let observer = function (key) { + preferences.on('change', (key: observer) => { console.info("The key " + key + " changed."); - } - preferences.on('change', observer); - preferences.put('startup', 'manual', function (err) { + }); + preferences.put('startup', 'manual', (err: BusinessError) => { if (err) { - console.error("Failed to put the value of 'startup'. Cause: " + err); - return; + console.error("Failed to put the value of 'startup'. Cause: " + err); + return; } console.info("Succeeded in putting the value of 'startup'."); - preferences.flush(function (err) { - if (err) { - console.error("Failed to flush. Cause: " + err); - return; - } - console.info("Succeeded in flushing."); + preferences.flush((err: BusinessError) => { + if (err) { + console.error("Failed to flush. Cause: " + err); + return; + } + console.info("Succeeded in flushing."); }) }) }) @@ -1781,24 +1850,26 @@ on(type: 'multiProcessChange', callback: Callback<{ key : string }>): void **示例1:** ```js +interface observer { + key: string +} try { - data_preferences.getPreferences(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err, preferences) { + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + data_preferences.getPreferences(this.context, options, (err: BusinessError, preferences: data_preferences.Preferences) => { if (err) { console.error("Failed to get preferences."); return; } - let observer = function (key) { + preferences.on('multiProcessChange', (key: observer) => { console.info("The key " + key + " changed."); - } - preferences.on('multiProcessChange', observer); - preferences.put('startup', 'manual', function (err) { + }); + preferences.put('startup', 'manual', (err: BusinessError) => { if (err) { console.error("Failed to put the value of 'startup'. Cause: " + err); return; } console.info("Succeeded in putting the value of 'startup'."); - - preferences.flush(function (err) { + preferences.flush((err: BusinessError) => { if (err) { console.error("Failed to flush. Cause: " + err); return; @@ -1815,17 +1886,21 @@ try { **示例2:** ```js +interface observer { + key: string +} try { - data_preferences.getPreferences(this.context, { name: 'mystore' }, function (err, val) { + let options: data_preferences.Options = { name: 'myStore' }; + data_preferences.getPreferences(this.context, options, (err: BusinessError, val: data_preferences.Preferences) => { if (err) { console.error("Failed to get preferences."); return; } preferences = val; - let observer = function (key) { + preferences.on('multiProcessChange', (key: observer) => { console.info("The key " + key + " changed."); try { - data_preferences.removePreferencesFromCache(this.context, { name: 'mystore' }, function (err) { + data_preferences.removePreferencesFromCache(this.context, options, (err: BusinessError) => { if (err) { console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message); return; @@ -1838,7 +1913,7 @@ try { } try { - data_preferences.getPreferences(this.context, { name: 'mystore' }, function (err, val) { + data_preferences.getPreferences(this.context, options, (err: BusinessError, val: data_preferences.Preferences) => { if (err) { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); return; @@ -1849,16 +1924,15 @@ try { } catch (err) { console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); } - } - preferences.on('multiProcessChange', observer); - preferences.put('startup', 'manual', function (err) { + }); + preferences.put('startup', 'manual', (err: BusinessError) => { if (err) { console.error("Failed to put the value of 'startup'. Cause: " + err); return; } console.info("Succeeded in putting the value of 'startup'."); - preferences.flush(function (err) { + preferences.flush((err: BusinessError) => { if (err) { console.error("Failed to flush. Cause: " + err); return; @@ -1890,31 +1964,35 @@ off(type: 'change', callback?: Callback<{ key : string }>): void **示例:** ```js +interface observer { + key: string +} try { - data_preferences.getPreferences(this.context, 'mystore', function (err, preferences) { + data_preferences.getPreferences(this.context, 'myStore', (err: BusinessError, val: data_preferences.Preferences) => { if (err) { console.error("Failed to get preferences."); return; } - let observer = function (key) { + preferences.on('change', (key: observer) => { console.info("The key " + key + " changed."); - } - preferences.on('change', observer); - preferences.put('startup', 'auto', function (err) { + }); + preferences.put('startup', 'auto', (err: BusinessError) => { if (err) { console.error("Failed to put the value of 'startup'. Cause: " + err); return; } console.info("Succeeded in putting the value of 'startup'."); - preferences.flush(function (err) { + preferences.flush((err: BusinessError) =>{ if (err) { console.error("Failed to flush. Cause: " + err); return; } console.info("Succeeded in flushing."); }) - preferences.off('change', observer); + preferences.off('change', (key: observer) => { + console.info("The key " + key + " changed."); + }); }) }) } catch (err) { @@ -1940,31 +2018,36 @@ off(type: 'multiProcessChange', callback?: Callback<{ key : string }>): vo **示例:** ```js +interface observer { + key: string +} try { - data_preferences.getPreferences(this.context, { name: 'mystore', dataGroupId:'myId' }, function (err, preferences) { + let options: data_preferences.Options = { name: 'myStore', dataGroupId:'myId' }; + data_preferences.getPreferences(this.context, options, (err: BusinessError, preferences: data_preferences.Preferences) => { if (err) { console.error("Failed to get preferences."); return; } - let observer = function (key) { + preferences.on('multiProcessChange', (key: observer) => { console.info("The key " + key + " changed."); - } - preferences.on('multiProcessChange', observer); - preferences.put('startup', 'auto', function (err) { + }); + preferences.put('startup', 'auto', (err: BusinessError) => { if (err) { console.error("Failed to put the value of 'startup'. Cause: " + err); return; } console.info("Succeeded in putting the value of 'startup'."); - preferences.flush(function (err) { + preferences.flush((err: BusinessError) => { if (err) { console.error("Failed to flush. Cause: " + err); return; } console.info("Succeeded in flushing."); }) - preferences.off('multiProcessChange', observer); + preferences.off('multiProcessChange', (key: observer) => { + console.info("The key " + key + " changed."); + }); }) }) } catch (err) { -- GitLab