本文主要介绍边缘存储的内置API。
Constructor
传入NameSpace(存储空间名称)创建一个边缘KV实例对象。
定义
const edgeKv = new EdgeKV({ namespace: "ns"});
参数说明
参数
说明
namespace
NameSpace是您在控制台创建的存储空间名称,可在存储空间列表查看。
get
从NameSpace(存储空间)里读取数据。
定义
get(key[, {type: “type”}])
参数说明
参数
说明
key
类型为string
type
类型可为以下任意一种:
stream(默认类型):ReadableStream的形式,返回流式的内容。
text:返回字符串。
json:将存储的JSON内容转换成一个Object后再返回。
arrayBuffer:返回二进制数据。
返回值
返回一个Promise(可以调用await来确保操作完成):
如果key不存在,会返回undefined。
如果发生异常导致get失败,reject成error异常。
示例代码
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
从NameSpace(存储空间)里删除Key及其对应的Value数据。
定义
delete(key)
参数说明
参数
说明
key
需要删除的Key,类型为string
返回值
返回一个Promise(可以调用await来确保操作完成):
如果删除成功,resolve成true。
如果删除失败,resolve成false。
如果发生异常导致delete失败,reject成error异常。
示例代码
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; } }