BotState class
Kelas dasar untuk cakupan persistensi status kerangka kerja.
Keterangan
Kelas ini akan membaca dan menulis status, ke penyedia penyimpanan yang disediakan, untuk setiap giliran percakapan dengan pengguna. Kelas turunan, seperti ConversationState dan UserState, menyediakan StorageKeyFactory yang digunakan untuk menentukan kunci yang digunakan untuk mempertahankan objek penyimpanan tertentu.
Objek status yang dimuat akan secara otomatis di-cache pada objek konteks selama masa pakai giliran dan hanya akan ditulis ke penyimpanan jika telah dimodifikasi.
Konstruktor
| Bot |
Membuat instans BotState baru. |
Metode
| clear(Turn |
Menghapus objek status saat ini untuk giliran. |
| create |
Membuat aksesor properti baru untuk membaca dan menulis properti individual ke objek penyimpanan status bot. |
| delete(Turn |
Hapus objek status pencadangan untuk giliran saat ini. |
| get(Turn |
Mengembalikan objek status singgahan atau tidak terdefinisi jika tidak di-cache. |
| load(Turn |
Membaca dan menyimpan objek status pencadangan untuk giliran. |
| save |
Menyimpan objek status singgahan jika telah diubah. |
Detail Konstruktor
BotState(Storage, StorageKeyFactory)
Membuat instans BotState baru.
new BotState(storage: Storage, storageKey: StorageKeyFactory)
Parameter
- storage
- Storage
Penyedia penyimpanan untuk mempertahankan objek status.
- storageKey
- StorageKeyFactory
Fungsi yang disebut kapan saja kunci penyimpanan untuk giliran tertentu perlu dihitung.
Detail Metode
clear(TurnContext)
Menghapus objek status saat ini untuk giliran.
function clear(context: TurnContext): Promise<void>
Parameter
- context
- TurnContext
Konteks untuk pergantian percakapan saat ini dengan pengguna.
Mengembalikan
Promise<void>
Janji yang mewakili operasi asinkron.
Keterangan
Objek status yang dibersihkan tidak akan bertahan sampai saveChanges() telah dipanggil.
await botState.clear(context);
await botState.saveChanges(context);
createProperty<T>(string)
Membuat aksesor properti baru untuk membaca dan menulis properti individual ke objek penyimpanan status bot.
function createProperty<T>(name: string): StatePropertyAccessor<T>
Parameter
- name
-
string
Nama properti yang akan ditambahkan.
Mengembalikan
Aksesor untuk properti .
delete(TurnContext)
Hapus objek status pencadangan untuk giliran saat ini.
function delete(context: TurnContext): Promise<void>
Parameter
- context
- TurnContext
Konteks untuk pergantian percakapan saat ini dengan pengguna.
Mengembalikan
Promise<void>
Janji yang mewakili operasi asinkron.
Keterangan
Objek status akan dihapus dari penyimpanan jika ada. Jika objek status telah dibaca dan di-cache, cache akan dihapus.
await botState.delete(context);
get(TurnContext)
Mengembalikan objek status singgahan atau tidak terdefinisi jika tidak di-cache.
function get(context: TurnContext): any | undefined
Parameter
- context
- TurnContext
Konteks untuk pergantian percakapan saat ini dengan pengguna.
Mengembalikan
any | undefined
Objek status singgahan atau tidak terdefinisi jika tidak di-cache.
Keterangan
Contoh ini menunjukkan cara mendapatkan objek status yang sudah dimuat dan di-cache secara sinkron:
const state = botState.get(context);
load(TurnContext, boolean)
Membaca dan menyimpan objek status pencadangan untuk giliran.
function load(context: TurnContext, force?: boolean): Promise<any>
Parameter
- context
- TurnContext
Konteks untuk pergantian percakapan saat ini dengan pengguna.
- force
-
boolean
(Opsional) Jika true cache akan dilewati dan status akan selalu dibaca langsung dari penyimpanan. Default ke false.
Mengembalikan
Promise<any>
Status cache.
Keterangan
Bacaan berikutnya akan mengembalikan objek yang di-cache kecuali bendera force diteruskan di mana akan memaksa objek status dibaca ulang.
Metode ini secara otomatis dipanggil pada akses pertama dari salah satu aksesor properti yang dibuat.
const state = await botState.load(context);
saveChanges(TurnContext, boolean)
Menyimpan objek status singgahan jika telah diubah.
function saveChanges(context: TurnContext, force?: boolean): Promise<void>
Parameter
- context
- TurnContext
Konteks untuk pergantian percakapan saat ini dengan pengguna.
- force
-
boolean
(Opsional) jika true status akan selalu ditulis terlepas dari status perubahannya. Default ke false.
Mengembalikan
Promise<void>
Janji yang mewakili operasi asinkron.
Keterangan
Jika bendera force diteruskan dalam objek status yang di-cache akan disimpan terlepas dari apakah telah diubah atau tidak dan jika tidak ada objek yang di-cache, objek kosong akan dibuat dan kemudian disimpan.
await botState.saveChanges(context);