Topik ini menjelaskan API EdgeKV bawaan untuk EdgeRoutine (ER).
Constructor
Membuat instance EdgeKV untuk namespace tertentu.
-
Syntax
const edgeKv = new EdgeKV({ namespace: "ns"}); -
Parameters
Parameter
Description
namespace
namespace yang telah Anda buat di Konsol. Anda dapat melihat daftar namespace Anda di namespace list.
get
Membaca data dari sebuah namespace.
-
Syntax
get(key[, {type: “type”}]) -
Parameters
Parameter
Description
key
Kunci yang akan diambil, ditentukan sebagai string.
type
Tipe pengembalian. Anda dapat menentukan salah satu nilai berikut:
-
stream(default): Mengembalikan nilai sebagaiReadableStream. -
text: Mengembalikan nilai sebagai string. -
json: Mengurai nilai sebagai JSON dan mengembalikan objek hasilnya. -
arrayBuffer: Mengembalikan nilai sebagaiArrayBuffer.
-
-
Return value
Mengembalikan sebuah
Promise. Anda dapat menggunakanawaituntuk memastikan operasi telah selesai.-
Jika kunci tidak ditemukan, promise diselesaikan dengan nilai
undefined. -
Jika terjadi pengecualian dan operasi gagal, promise ditolak dengan objek
Error.
-
-
Sample Code
addEventListener("fetch", event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { try { const edgeKV = new EdgeKV({ namespace: "ns" }); let getType = { type: "text" }; let value = await edgeKV.get("key", getType); if (value === undefined) { return "EdgeKV get: key not found"; } else { return new Response(value); } } catch (e) { return "EdgeKV get error" + e; } }
delete
Menghapus pasangan kunci-nilai dari sebuah namespace.
-
Syntax
delete(key) -
Parameters
Parameter
Description
key
Kunci yang akan dihapus, ditentukan sebagai string.
-
Return value
Mengembalikan sebuah
Promise. Anda dapat menggunakanawaituntuk memastikan operasi telah selesai.-
Jika penghapusan berhasil, promise diselesaikan dengan nilai
true. -
Jika penghapusan gagal, promise diselesaikan dengan nilai
false. -
Jika terjadi pengecualian, promise ditolak dengan objek
Error.
-
-
Sample Code
addEventListener("fetch", event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest() { try { const edgeKV = new EdgeKV({ namespace: "ns" }); let resp = await edgeKV.delete("key"); if (resp) { return "EdgeKV delete success"; } else { return "EdgeKV delete failed"; } } catch (e) { return "EdgeKV delete error" + e; } }
Penanganan pengecualian JavaScript
Ketika terjadi pengecualian, kesalahan JavaScript dikembalikan. Jika Anda ingin mengabaikan kesalahan ini, Anda harus menangkapnya dalam kode JavaScript Anda. Jika tidak, kode status 599 dikembalikan dan permintaan secara otomatis dialihkan ke fallback origin server untuk dicoba ulang. Fallback origin server adalah origin server yang telah Anda konfigurasi saat menambahkan Nama domain ke CDN/DCDN.