W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
用戶首選項為應用提供Key-Value鍵值型的數據處理能力,支持應用持久化輕量級數據,并對其修改和查詢。
數據存儲形式為鍵值對,鍵的類型為字符串型,值的存儲數據類型包括數字型、字符型、布爾型以及這3種類型的數組類型。
本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
MAX_KEY_LENGTH | number | 是 | 否 | Key的最大長度限制為80個字節(jié)。 |
MAX_VALUE_LENGTH | number | 是 | 否 | Value的最大長度限制為8192個字節(jié)。 |
getPreferences(context: Context, name: string, callback: AsyncCallback<Preferences>): void
獲取Preferences實例,使用callback異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
context | Context | 是 | 應用上下文。 FA模型的應用Context定義見Context。 Stage模型的應用Context定義見Context。 |
name | string | 是 | Preferences實例的名稱。 |
callback | AsyncCallback<Preferences> | 是 | 回調函數。當獲取Preferences實例成功,err為undefined,返回Preferences實例;否則err為錯誤對象。 |
示例:
FA模型示例:
- // 獲取context
- import featureAbility from '@ohos.ability.featureAbility';
- let context = featureAbility.getContext();
- let preferences = null;
- try {
- dataPreferences.getPreferences(context, 'mystore', function (err, val) {
- if (err) {
- console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
- return;
- }
- preferences = val;
- console.info("Succeeded in getting preferences.");
- })
- } catch (err) {
- console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
- }
Stage模型示例:
- import UIAbility from '@ohos.app.ability.UIAbility';
- let preferences = null;
- class EntryAbility extends UIAbility {
- onWindowStageCreate(windowStage) {
- try {
- dataPreferences.getPreferences(this.context, 'mystore', function (err, val) {
- if (err) {
- console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
- return;
- }
- preferences = val;
- console.info("Succeeded in getting preferences.");
- })
- } catch (err) {
- console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
- }
- }
- }
getPreferences(context: Context, name: string): Promise<Preferences>
獲取Preferences實例,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
返回值:
類型 | 說明 |
---|---|
Promise<Preferences> | Promise對象,返回Preferences實例。 |
示例:
FA模型示例:
- // 獲取context
- import featureAbility from '@ohos.ability.featureAbility';
- let context = featureAbility.getContext();
- let preferences = null;
- try {
- let promise = dataPreferences.getPreferences(context, 'mystore');
- promise.then((object) => {
- preferences = object;
- console.info("Succeeded in getting preferences.");
- }).catch((err) => {
- console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
- }
Stage模型示例:
- import UIAbility from '@ohos.app.ability.UIAbility';
- let preferences = null;
- class EntryAbility extends UIAbility {
- onWindowStageCreate(windowStage) {
- try {
- let promise = dataPreferences.getPreferences(this.context, 'mystore');
- promise.then((object) => {
- preferences = object;
- console.info("Succeeded in getting preferences.");
- }).catch((err) => {
- console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message);
- }
- }
- }
deletePreferences(context: Context, name: string, callback: AsyncCallback<void>): void
從內存中移除指定的Preferences實例,使用callback異步回調。
若Preferences實例有對應的持久化文件,則同時刪除其持久化文件。
調用該接口后,應用不允許再使用該Preferences實例進行數據操作,否則會出現(xiàn)數據一致性問題。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
錯誤碼:
以下錯誤碼的詳細介紹請參見用戶首選項錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
15500010 | Failed to delete preferences. |
示例:
FA模型示例:
- // 獲取context
- import featureAbility from '@ohos.ability.featureAbility';
- let context = featureAbility.getContext();
- try {
- dataPreferences.deletePreferences(context, 'mystore', function (err) {
- if (err) {
- console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
- return;
- }
- console.info("Succeeded in deleting preferences." );
- })
- } catch (err) {
- console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
- }
Stage模型示例:
- import UIAbility from '@ohos.app.ability.UIAbility';
- class EntryAbility extends UIAbility {
- onWindowStageCreate(windowStage) {
- try {
- dataPreferences.deletePreferences(this.context, 'mystore', function (err) {
- if (err) {
- console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
- return;
- }
- console.info("Succeeded in deleting preferences." );
- })
- } catch (err) {
- console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
- }
- }
- }
deletePreferences(context: Context, name: string): Promise<void>
從內存中移除指定的Preferences實例,使用Promise異步回調。
若Preferences實例有對應的持久化文件,則同時刪除其持久化文件。
調用該接口后,應用不允許再使用該Preferences實例進行數據操作,否則會出現(xiàn)數據一致性問題。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
返回值:
類型 | 說明 |
---|---|
Promise<void> | 無返回結果的Promise對象。 |
錯誤碼:
以下錯誤碼的詳細介紹請參見用戶首選項錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
15500010 | Failed to delete preferences. |
示例:
FA模型示例:
- // 獲取context
- import featureAbility from '@ohos.ability.featureAbility';
- let context = featureAbility.getContext();
- try {
- let promise = dataPreferences.deletePreferences(context, 'mystore');
- promise.then(() => {
- console.info("Succeeded in deleting preferences.");
- }).catch((err) => {
- console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
- }
Stage模型示例:
- import UIAbility from '@ohos.app.ability.UIAbility';
- class EntryAbility extends UIAbility {
- onWindowStageCreate(windowStage) {
- try{
- let promise = dataPreferences.deletePreferences(this.context, 'mystore');
- promise.then(() => {
- console.info("Succeeded in deleting preferences.");
- }).catch((err) => {
- console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to delete preferences. code =" + err.code + ", message =" + err.message);
- }
- }
- }
removePreferencesFromCache(context: Context, name: string, callback: AsyncCallback<void>): void
從內存中移除指定的Preferences實例,使用callback異步回調。
調用該接口后,應用不允許再使用該Preferences實例進行數據操作,否則會出現(xiàn)數據一致性問題。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
示例:
FA模型示例:
- // 獲取context
- import featureAbility from '@ohos.ability.featureAbility';
- let context = featureAbility.getContext();
- try {
- dataPreferences.removePreferencesFromCache(context, 'mystore', function (err) {
- if (err) {
- console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
- return;
- }
- console.info("Succeeded in removing preferences.");
- })
- } catch (err) {
- console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
- }
Stage模型示例:
- import UIAbility from '@ohos.app.ability.UIAbility';
- class EntryAbility extends UIAbility {
- onWindowStageCreate(windowStage) {
- try {
- dataPreferences.removePreferencesFromCache(this.context, 'mystore', function (err) {
- if (err) {
- console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
- return;
- }
- console.info("Succeeded in removing preferences.");
- })
- } catch (err) {
- console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
- }
- }
- }
removePreferencesFromCache(context: Context, name: string): Promise<void>
從內存中移除指定的Preferences實例,使用Promise異步回調。
調用該接口后,應用不允許再使用該Preferences實例進行數據操作,否則會出現(xiàn)數據一致性問題。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
返回值:
類型 | 說明 |
---|---|
Promise<void> | 無返回結果的Promise對象。 |
示例:
FA模型示例:
- // 獲取context
- import featureAbility from '@ohos.ability.featureAbility';
- let context = featureAbility.getContext();
- try {
- let promise = dataPreferences.removePreferencesFromCache(context, 'mystore');
- promise.then(() => {
- console.info("Succeeded in removing preferences.");
- }).catch((err) => {
- console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
- }
Stage模型示例:
- import UIAbility from '@ohos.app.ability.UIAbility';
- class EntryAbility extends UIAbility {
- onWindowStageCreate(windowStage) {
- try {
- let promise = dataPreferences.removePreferencesFromCache(this.context, 'mystore');
- promise.then(() => {
- console.info("Succeeded in removing preferences.");
- }).catch((err) => {
- console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to remove preferences. code =" + err.code + ", message =" + err.message);
- }
- }
- }
存儲實例,提供獲取和修改存儲數據的接口。
下列接口都需先使用data_preferences.getPreferences獲取到Preferences實例,再通過此實例調用對應接口。
get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>): void
獲取鍵對應的值,如果值為null或者非默認值類型,返回默認數據defValue,使用callback異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
示例:
- try {
- preferences.get('startup', 'default', function (err, val) {
- if (err) {
- console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
- return;
- }
- console.info("Succeeded in getting value of 'startup'. val: " + val);
- })
- } catch (err) {
- console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
- }
get(key: string, defValue: ValueType): Promise<ValueType>
獲取鍵對應的值,如果值為null或者非默認值類型,返回默認數據defValue,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 要獲取的存儲Key名稱,不能為空。 |
defValue | 是 | 默認返回值。支持number、string、boolean、Array<number>、Array<string>、Array<boolean>類型。 |
返回值:
類型 | 說明 |
---|---|
Promise<ValueType> | Promise對象,返回鍵對應的值。 |
示例:
- try {
- let promise = preferences.get('startup', 'default');
- promise.then((data) => {
- console.info("Succeeded in getting value of 'startup'. Data: " + data);
- }).catch((err) => {
- console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to get value of 'startup'. code =" + err.code + ", message =" + err.message);
- }
getAll(callback: AsyncCallback<Object>): void;
獲取含有所有鍵值的Object對象。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<Object> | 是 | 回調函數。當獲取成功,err為undefined,value為含有所有鍵值的Object對象;否則err為錯誤對象。 |
示例:
- try {
- preferences.getAll(function (err, value) {
- 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));
- })
- } catch (err) {
- console.error("Failed to get all key-values. code =" + err.code + ", message =" + err.message);
- }
getAll(): Promise<Object>
獲取含有所有鍵值的Object對象。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
返回值:
類型 | 說明 |
---|---|
Promise<Object> | Promise對象,返回含有所有鍵值的Object對象。 |
示例:
- try {
- let promise = preferences.getAll();
- promise.then((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);
- })
- } catch (err) {
- console.error("Failed to get all key-values. code =" + err.code + ", message =" + err.message);
- }
put(key: string, value: ValueType, callback: AsyncCallback<void>): void
將數據寫入Preferences實例,可通過flush將Preferences實例持久化,使用callback異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 要修改的存儲的Key,不能為空。 |
value | 是 | 存儲的新值。支持number、string、boolean、Array<number>、Array<string>、Array<boolean>類型。 | |
callback | AsyncCallback<void> | 是 | 回調函數。當數據寫入成功,err為undefined;否則為錯誤對象。 |
示例:
- try {
- preferences.put('startup', 'auto', function (err) {
- if (err) {
- console.error("Failed to put value of 'startup'. code =" + err.code + ", message =" + err.message);
- return;
- }
- console.info("Succeeded in putting value of 'startup'.");
- })
- } catch (err) {
- console.error("Failed to put value of 'startup'. code =" + err.code + ", message =" + err.message);
- }
put(key: string, value: ValueType): Promise<void>
將數據寫入Preferences實例,可通過flush將Preferences實例持久化,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 要修改的存儲的Key,不能為空。 |
value | 是 | 存儲的新值。支持number、string、boolean、Array<number>、Array<string>、Array<boolean>類型。 |
返回值:
類型 | 說明 |
---|---|
Promise<void> | 無返回結果的Promise對象。 |
示例:
- try {
- let promise = preferences.put('startup', 'auto');
- promise.then(() => {
- console.info("Succeeded in putting value of 'startup'.");
- }).catch((err) => {
- console.error("Failed to put value of 'startup'. code =" + err.code +", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to put value of 'startup'. code =" + err.code +", message =" + err.message);
- }
has(key: string, callback: AsyncCallback<boolean>): void
檢查Preferences實例是否包含名為給定Key的存儲鍵值對,使用callback異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 要檢查的存儲key名稱,不能為空。 |
callback | AsyncCallback<boolean> | 是 | 回調函數。返回Preferences實例是否包含給定key的存儲鍵值對,true表示存在,false表示不存在。 |
示例:
- try {
- preferences.has('startup', function (err, val) {
- if (err) {
- console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message);
- return;
- }
- if (val) {
- console.info("The key 'startup' is contained.");
- } 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);
- }
has(key: string): Promise<boolean>
檢查Preferences實例是否包含名為給定Key的存儲鍵值對,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 要檢查的存儲key名稱,不能為空。 |
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | Promise對象。返回Preferences實例是否包含給定key的存儲鍵值對,true表示存在,false表示不存在。 |
示例:
- try {
- let promise = preferences.has('startup');
- promise.then((val) => {
- if (val) {
- console.info("The key 'startup' is contained.");
- } 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);
- })
- } catch(err) {
- console.error("Failed to check the key 'startup'. code =" + err.code + ", message =" + err.message);
- }
delete(key: string, callback: AsyncCallback<void>): void
從Preferences實例中刪除名為給定Key的存儲鍵值對,使用callback異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 要刪除的存儲Key名稱,不能為空。 |
callback | AsyncCallback<void> | 是 | 回調函數。當刪除成功,err為undefined;否則為錯誤對象。 |
示例:
- try {
- preferences.delete('startup', function (err) {
- if (err) {
- console.error("Failed to delete the key 'startup'. code =" + err.code + ", message =" + err.message);
- return;
- }
- console.info("Succeeded in deleting the key 'startup'.");
- })
- } catch (err) {
- console.error("Failed to delete the key 'startup'. code =" + err.code + ", message =" + err.message);
- }
delete(key: string): Promise<void>
從Preferences實例中刪除名為給定Key的存儲鍵值對,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
key | string | 是 | 要刪除的存儲key名稱,不能為空。 |
返回值:
類型 | 說明 |
---|---|
Promise<void> | 無返回結果的Promise對象。 |
示例:
- try {
- let promise = preferences.delete('startup');
- promise.then(() => {
- console.info("Succeeded in deleting the key 'startup'.");
- }).catch((err) => {
- console.error("Failed to delete the key 'startup'. code =" + err.code +", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to delete the key 'startup'. code =" + err.code +", message =" + err.message);
- }
flush(callback: AsyncCallback<void>): void
將當前Preferences實例的數據異步存儲到用戶首選項的持久化文件中,使用callback異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回調函數。當保存成功,err為undefined;否則為錯誤對象。 |
示例:
- try {
- preferences.flush(function (err) {
- if (err) {
- console.error("Failed to flush. code =" + err.code + ", message =" + err.message);
- return;
- }
- console.info("Succeeded in flushing.");
- })
- } catch (err) {
- console.error("Failed to flush. code =" + err.code + ", message =" + err.message);
- }
flush(): Promise<void>
將當前Preferences實例的數據異步存儲到用戶首選項的持久化文件中,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
返回值:
類型 | 說明 |
---|---|
Promise<void> | 無返回結果的Promise對象。 |
示例:
- try {
- let promise = preferences.flush();
- promise.then(() => {
- console.info("Succeeded in flushing.");
- }).catch((err) => {
- console.error("Failed to flush. code =" + err.code + ", message =" + err.message);
- })
- } catch (err) {
- console.error("Failed to flush. code =" + err.code + ", message =" + err.message);
- }
clear(callback: AsyncCallback<void>): void
清除此Preferences實例中的所有存儲,使用callback異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回調函數。當清除成功,err為undefined;否則為錯誤對象。 |
示例:
- try {
- preferences.clear(function (err) {
- if (err) {
- console.error("Failed to clear. code =" + err.code + ", message =" + err.message);
- return;
- }
- console.info("Succeeded in clearing.");
- })
- } catch (err) {
- console.error("Failed to clear. code =" + err.code + ", message =" + err.message);
- }
clear(): Promise<void>
清除此Preferences實例中的所有存儲,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
返回值:
類型 | 說明 |
---|---|
Promise<void> | 無返回結果的Promise對象。 |
示例:
- try {
- let promise = preferences.clear();
- promise.then(() => {
- console.info("Succeeded in clearing.");
- }).catch((err) => {
- console.error("Failed to clear. code =" + err.code + ", message =" + err.message);
- })
- } catch(err) {
- console.error("Failed to clear. code =" + err.code + ", message =" + err.message);
- }
on(type: 'change', callback: Callback<{ key : string }>): void
訂閱數據變更,訂閱的Key的值發(fā)生變更后,在執(zhí)行flush方法后,觸發(fā)callback回調。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 事件類型,固定值'change',表示數據變更。 |
callback | Callback<{ key : string }> | 是 | 回調對象實例。 |
示例:
- try {
- dataPreferences.getPreferences(this.context, 'mystore', function (err, preferences) {
- if (err) {
- console.error("Failed to get preferences.");
- return;
- }
- let observer = function (key) {
- console.info("The key " + key + " changed.");
- }
- preferences.on('change', observer);
- preferences.put('startup', 'manual', function (err) {
- 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) {
- if (err) {
- console.error("Failed to flush. Cause: " + err);
- return;
- }
- console.info("Succeeded in flushing.");
- })
- })
- })
- } catch (err) {
- console.error("Failed to flush. code =" + err.code + ", message =" + err.message);
- }
off(type: 'change', callback?: Callback<{ key : string }>): void
取消訂閱數據變更。
系統(tǒng)能力: SystemCapability.DistributedDataManager.Preferences.Core
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 事件類型,固定值'change',表示數據變更。 |
callback | Callback<{ key : string }> | 否 | 需要取消的回調對象實例,不填寫則全部取消。 |
示例:
- try {
- dataPreferences.getPreferences(this.context, 'mystore', function (err, preferences) {
- if (err) {
- console.error("Failed to get preferences.");
- return;
- }
- let observer = function (key) {
- console.info("The key " + key + " changed.");
- }
- preferences.on('change', observer);
- preferences.put('startup', 'auto', function (err) {
- 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) {
- if (err) {
- console.error("Failed to flush. Cause: " + err);
- return;
- }
- console.info("Succeeded in flushing.");
- })
- preferences.off('change', observer);
- })
- })
- } catch (err) {
- console.error("Failed to flush. code =" + err.code + ", message =" + err.message);
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: