@tauri-apps/plugin-store
類別
LazyStore
後端層持久化的延遲載入鍵值儲存區。
實作
IStore
建構函式
new LazyStore()
new LazyStore(path, options?): LazyStore
請注意,如果其他人已建立儲存區,則選項不會套用
參數
參數 | 類型 | 描述 |
---|---|---|
path | string | 儲存區在 app_data_dir 中的儲存路徑 |
options ? | StoreOptions | 儲存區配置選項 |
回傳
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L96
方法
clear()
clear(): Promise<void>
清除儲存區,移除所有鍵值對。
注意:若要清除儲存空間並將其重設為 default
值,請改用 reset
。
回傳
Promise
<void
>
實作自
IStore.clear
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L124
close()
close(): Promise<void>
關閉儲存區並從記憶體中清除此資源。您不應再對此物件呼叫任何方法,且應捨棄對它的任何參考。
回傳
Promise
<void
>
實作自
IStore.close
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L169
delete()
delete(key): Promise<boolean>
從儲存區中移除鍵值對。
參數
參數 | 類型 | 描述 |
---|---|---|
key | string |
回傳
Promise
<boolean
>
實作自
IStore.delete
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L120
entries()
entries<T>(): Promise<[string, T][]>
傳回儲存區中所有條目的列表。
類型參數
類型參數 |
---|
T |
回傳
Promise
<[string
, T
][]>
實作自
IStore.entries
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L140
get()
get<T>(key): Promise<undefined | T>
傳回指定 key
的值,如果該鍵不存在,則傳回 undefined
。
類型參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
key | string |
回傳
Promise
<undefined
| T
>
實作自
IStore.get
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L112
has()
has(key): Promise<boolean>
如果指定的 key
存在於儲存區中,則傳回 true
。
參數
參數 | 類型 | 描述 |
---|---|---|
key | string |
回傳
Promise
<boolean
>
實作自
IStore.has
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L116
init()
init(): Promise<void>
如果儲存區尚未載入,則初始化/載入儲存區
回傳
Promise
<void
>
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L104
keys()
keys(): Promise<string[]>
傳回儲存區中所有鍵的列表。
回傳
Promise
<string
[]>
實作自
IStore.keys
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L132
length()
length(): Promise<number>
傳回儲存區中鍵值對的數量。
回傳
Promise
<number
>
實作自
IStore.length
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L144
onChange()
onChange<T>(cb): Promise<UnlistenFn>
監聽儲存區的變更。
類型參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
cb | (key , value ) => void |
回傳
Promise
<UnlistenFn
>
一個 Promise,解析為一個取消監聽事件的函式。
Since
2.0.0
實作自
IStore.onChange
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L163
onKeyChange()
onKeyChange<T>(key, cb): Promise<UnlistenFn>
監聽儲存區鍵的變更。
類型參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
key | string | |
cb | (value ) => void |
回傳
Promise
<UnlistenFn
>
一個 Promise,解析為一個取消監聽事件的函式。
Since
2.0.0
實作自
IStore.onKeyChange
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L156
reload()
reload(): Promise<void>
嘗試將儲存區 path
上的磁碟狀態載入到記憶體中。
如果磁碟狀態是由使用者編輯的,且您想要同步變更,則此方法很有用。
注意:此方法不會發出變更事件。
回傳
Promise
<void
>
實作自
IStore.reload
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L148
reset()
reset(): Promise<void>
將儲存區重設為其 default
值。
如果未設定預設值,則此方法的行為與 clear
相同。
回傳
Promise
<void
>
實作自
IStore.reset
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L128
save()
save(): Promise<void>
將儲存區儲存到磁碟上的儲存區 path
。
回傳
Promise
<void
>
實作自
IStore.save
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L152
set()
set(key, value): Promise<void>
將鍵值對插入儲存區。
參數
參數 | 類型 | 描述 |
---|---|---|
key | string | |
value | unknown |
回傳
Promise
<void
>
實作自
IStore.set
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L108
values()
values<T>(): Promise<T[]>
傳回儲存區中所有值的列表。
類型參數
類型參數 |
---|
T |
回傳
Promise
<T
[]>
實作自
IStore.values
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L136
Store
由後端層持久化的鍵值儲存區。
繼承自
資源
實作
IStore
存取器
rid
取得簽章
get rid(): number
回傳
number
繼承自
Resource.rid
來源: undefined
方法
clear()
clear(): Promise<void>
清除儲存區,移除所有鍵值對。
注意:若要清除儲存空間並將其重設為 default
值,請改用 reset
。
回傳
Promise
<void
>
實作自
IStore.clear
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L259
close()
close(): Promise<void>
從記憶體中銷毀和清除此資源。您不應再對此物件呼叫任何方法,且應捨棄對它的任何參考。
回傳
Promise
<void
>
實作自
IStore.close
繼承自
Resource.close
來源: undefined
delete()
delete(key): Promise<boolean>
從儲存區中移除鍵值對。
參數
參數 | 類型 | 描述 |
---|---|---|
key | string |
回傳
Promise
<boolean
>
實作自
IStore.delete
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L252
entries()
entries<T>(): Promise<[string, T][]>
傳回儲存區中所有條目的列表。
類型參數
類型參數 |
---|
T |
回傳
Promise
<[string
, T
][]>
實作自
IStore.entries
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L275
get()
get<T>(key): Promise<undefined | T>
傳回指定 key
的值,如果該鍵不存在,則傳回 undefined
。
類型參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
key | string |
回傳
Promise
<undefined
| T
>
實作自
IStore.get
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L237
has()
has(key): Promise<boolean>
如果指定的 key
存在於儲存區中,則傳回 true
。
參數
參數 | 類型 | 描述 |
---|---|---|
key | string |
回傳
Promise
<boolean
>
實作自
IStore.has
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L245
keys()
keys(): Promise<string[]>
傳回儲存區中所有鍵的列表。
回傳
Promise
<string
[]>
實作自
IStore.keys
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L267
length()
length(): Promise<number>
傳回儲存區中鍵值對的數量。
回傳
Promise
<number
>
實作自
IStore.length
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L279
onChange()
onChange<T>(cb): Promise<UnlistenFn>
監聽儲存區的變更。
類型參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
cb | (key , value ) => void |
回傳
Promise
<UnlistenFn
>
一個 Promise,解析為一個取消監聽事件的函式。
Since
2.0.0
實作自
IStore.onChange
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L302
onKeyChange()
onKeyChange<T>(key, cb): Promise<UnlistenFn>
監聽儲存區鍵的變更。
類型參數
類型參數 |
---|
T |
參數
參數 | 類型 | 描述 |
---|---|---|
key | string | |
cb | (value ) => void |
回傳
Promise
<UnlistenFn
>
一個 Promise,解析為一個取消監聽事件的函式。
Since
2.0.0
實作自
IStore.onKeyChange
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L291
reload()
reload(): Promise<void>
嘗試將儲存區 path
上的磁碟狀態載入到記憶體中。
如果磁碟狀態是由使用者編輯的,且您想要同步變更,則此方法很有用。
注意:此方法不會發出變更事件。
回傳
Promise
<void
>
實作自
IStore.reload
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L283
reset()
reset(): Promise<void>
將儲存區重設為其 default
值。
如果未設定預設值,則此方法的行為與 clear
相同。
回傳
Promise
<void
>
實作自
IStore.reset
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L263
save()
save(): Promise<void>
將儲存區儲存到磁碟上的儲存區 path
。
回傳
Promise
<void
>
實作自
IStore.save
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L287
set()
set(key, value): Promise<void>
將鍵值對插入儲存區。
參數
參數 | 類型 | 描述 |
---|---|---|
key | string | |
value | unknown |
回傳
Promise
<void
>
實作自
IStore.set
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L229
values()
values<T>(): Promise<T[]>
傳回儲存區中所有值的列表。
類型參數
類型參數 |
---|
T |
回傳
Promise
<T
[]>
實作自
IStore.values
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L271
get()
static get(path): Promise<null | Store>
取得已載入的儲存區。
如果儲存區未載入,則傳回 null
。 在此情況下,您必須 load 它。
當您已經知道儲存區已載入且只需要存取其執行個體時,此函式更有用。 否則,請優先使用 Store.load。
參數
參數 | 類型 | 描述 |
---|---|---|
path | string | 儲存區的路徑。 |
回傳
範例
import { Store } from '@tauri-apps/api/store';let store = await Store.get('store.json');if (!store) { store = await Store.load('store.json');}
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L223
load()
static load(path, options?): Promise<Store>
建立新的儲存區或載入具有該路徑的現有儲存區。
參數
參數 | 類型 | 描述 |
---|---|---|
path | string | 儲存區在 app_data_dir 中的儲存路徑 |
options ? | StoreOptions | 儲存區配置選項 |
回傳
範例
import { Store } from '@tauri-apps/api/store';const store = await Store.load('store.json');
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L196
類型別名
StoreOptions
type StoreOptions: object;
建立儲存區的選項
類型宣告
名稱 | 類型 | 描述 | 定義於 |
---|---|---|---|
autoSave ? | boolean | number | 在修改時自動儲存,並具有毫秒為單位的 debounce 持續時間,預設為 100 毫秒,傳入 false 以停用它 | 來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L24 |
createNew ? | boolean | 強制建立具有預設值的新儲存區,即使它已存在。 | 來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L36 |
deserializeFnName ? | string | 在 rust 端插件建構器中註冊的反序列化函式名稱 | 來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L32 |
serializeFnName ? | string | 在 rust 端插件建構器中註冊的序列化函式名稱 | 來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L28 |
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L20
函式
getStore()
function getStore(path): Promise<Store | null>
取得已載入的儲存區。
如果儲存區未載入,則傳回 null
。 在此情況下,您必須 load 它。
當您已經知道儲存區已載入且只需要存取其執行個體時,此函式更有用。 否則,請優先使用 Store.load。
參數
參數 | 類型 | 描述 |
---|---|---|
path | string | 儲存區的路徑。 |
回傳
範例
import { getStore } from '@tauri-apps/api/store';const store = await getStore('store.json');
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L74
load()
function load(path, options?): Promise<Store>
建立新的儲存區或載入具有該路徑的現有儲存區。
參數
參數 | 類型 | 描述 |
---|---|---|
path | string | 儲存區在 app_data_dir 中的儲存路徑 |
options ? | StoreOptions | 儲存區配置選項 |
回傳
範例
import { Store } from '@tauri-apps/api/store';const store = await Store.load('store.json');
來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L51
© 2025 Tauri Contributors. CC-BY / MIT