`title: AbortController 可取消的数据管道与持久化``categories: Web 开发/前端/数据管理``keywords: AbortController,fetch,Streams,取消,OPFS``description: 使用 AbortController 为 fetch 与 Streams 管道提供取消能力,在持久化过程中响应用户操作并安全清理。`可取消 fetch 与写入async function downloadWithCancel(url, name) { const ctrl = new AbortController(); const res = await fetch(url, { signal: ctrl.signal }); const root = await navigator.storage.getDirectory(); const h = await root.getFileHandle(name, { create: true }); const w = await h.createWritable(); const reader = res.body.getReader(); try { while (true) { const { done, value } = await reader.read(); if (done) break; await w.write(value); } } finally { await w.close(); } return { cancel: () => ctrl.abort() }; } 清理与回退取消后清理临时文件或标记为不完整,等待后续续传或删除。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.743064s