有時(shí)一個(gè)程序會(huì)放棄之前獲得的權(quán)限,在此之后,需要該權(quán)限的操作將失敗。
// 查找一個(gè)權(quán)限
const status = await Deno.permissions.query({ name: "write" });
if (status.state !== "granted") {
throw new Error("need write permission");
}
const log = await Deno.open("request.log", { write: true, append: true });
// 放棄一些權(quán)限
await Deno.permissions.revoke({ name: "read" });
await Deno.permissions.revoke({ name: "write" });
// 使用日志文件
const encoder = new TextEncoder();
await log.write(encoder.encode("hello\n"));
// 這將會(huì)失敗
await Deno.remove("request.log");
更多建議: