如何用 AbortController 正确取消一个正在进行的 fetch 流式请求?
本题解释如何用 AbortController 取消正在进行的 fetch 流式请求,包括 abort 后 reader 抛出 AbortError、需调用 cancel() 释放锁、捕获异常避免未处理拒绝,并给出前端 AI 对话停止生成的具体实现。
AI 全栈 · 流式交互面试题第 1 页,显示第 1–28 题,共找到 28 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
本题解释如何用 AbortController 取消正在进行的 fetch 流式请求,包括 abort 后 reader 抛出 AbortError、需调用 cancel() 释放锁、捕获异常避免未处理拒绝,并给出前端 AI 对话停止生成的具体实现。
题目解析Anthropic流式事件中message_start、content_block_delta、message_stop的职责分工与顺序,区分内容块增量和顶层元数据更新,描述多块拼接、工具参数增量解析以及中断时没有message_stop的处理。
围绕“Anthropic TypeScript SDK 中流式请求的 APIError、APIConnectionErro”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分可重试与不可重试的错误类型并给出处理策略。
围绕“当模型产出速度超过前端渲染能力时,流式管线中的背压问题如何缓解”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明缓冲丢弃中间帧、节流到动画帧等消费侧背压手段。
围绕“取消一个流式 LLM 请求后,已生成的 token 是否仍然计费”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须基于流式生成的实际产出说明计费边界。
围绕“SSE 的一个事件可能被拆到多个 TCP 数据块中,客户端如何正确按行缓冲拼接”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明不能假设一次 read 对应一条完整事件、需要按 \n\n 切分缓冲。
围绕“跨域调用流式接口时 CORS 与 SSE 有哪些容易踩的坑”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明凭据模式、预检与响应头要求。
围绕“如何区分连接超时、首 token 超时(TTFT)与流中间静默超时,并分别配置”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出三类超时的判定信号与各自的合理默认值思路。
围绕“流式响应中途返回错误事件或连接断开,已显示的部分回答应该如何处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须对比保留部分回答并提示重试、整段丢弃、自动续问三种策略的适用场景。
围绕“如何用 fetch 的 ReadableStream 手动消费一个 LLM 流式响应”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 reader.read() 循环、done 标志与 Uint8Array 解码流程。
围绕“本地推理的流式输出为什么首 token 延迟高但后续 token 均匀,如何向用户呈现等待状态”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 prefill 与 decode 阶段差异对 UX 的影响。
围绕“为什么多个 SSE 长连接在 HTTP/1.1 下会阻塞页面其他请求,HTTP/2 如何缓解”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释浏览器每域名 6 连接限制与多路复用的差异。
围绕“设计 LLM 流式协议时,整包 JSON 快照下发与增量 delta 下发各有什么利弊”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较两者在带宽、客户端复杂度、乱序容错上的差异并给出选型依据。
围绕“移动端网络切换(Wi-Fi 切蜂窝)导致流式连接中断时,如何检测并优雅恢复”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 TCP 僵死连接的发现手段(心跳/超时)与页面可见性联动。
围绕“发送消息后乐观渲染用户气泡与等待流式响应之间的状态如何建模”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 pending/streaming/done/error 状态模型及各状态允许的操作。
围绕“用户在同一会话开多个标签页时,如何避免两个流式连接互相覆盖消息状态”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明会话所有权或 BroadcastChannel 同步等方案的取舍。
围绕“模型以流式输出 JSON 时,如何在只收到不完整 JSON 的情况下做增量解析”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须对比容错解析器(如 partial-json)、逐 token 状态机与「缓冲到完整再解析」三种策略的取舍。
围绕“React 中流式输出每个 token 都 setState 会导致什么性能问题,如何优化渲染频率”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明按 token 渲染的开销及按时间片/字符数批量 flush 的方案。
围绕“对失败的流式生成请求做自动重试时,如何避免用户被重复计费或产生重复副作用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讨论幂等键、客户端去重标记与仅对连接阶段失败重试的策略。
围绕“Node.js 服务端如何感知客户端中断 SSE 连接并及时停止 LLM 生成以节省 token 成本”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明监听连接关闭事件并向上游转发取消信号的链路。
围绕“Service Worker 拦截流式响应时为什么容易把流缓冲成整包,如何透传”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明不要在 SW 中 await 完整 body 而直接转发 Response 的原因。
围绕“SSE 协议中 data:、event:、id:、retry: 各字段分别起什么作用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清各字段的语法规则和客户端解析行为。
围绕“SSE 断线重连时如何利用 Last-Event-ID 实现断点续传”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 id 字段、客户端自动携带机制与服务端需要配合做的事。
本文对比 AI 流式对话中 SSE 与 WebSocket 的选型依据。核心结论:SSE 面向单向文本推送,浏览器 EventSource 可自动重连,HTTP 兼容性好;WebSocket 仅在需要双向实时交互时才必要。给出具体场景、失败边界与判断条件。
围绕“流式响应的 stop_reason 为 max_tokens 时前端应如何提示与处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明区分自然结束与截断的意义及「继续生成」交互设计。
围绕“如何在 Anthropic 流式响应中获取本次生成的 usage token 统计,它与非流式有何差异”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 token 统计出现在哪个事件以及为何不能像非流式那样一次拿到。
围绕“Hugging Face Transformers 的 TextStreamer/自定义 StoppingCrite”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 streamer 回调在 generate 过程中的触发时机与如何接入 Web 后端。
围绕“Vercel AI SDK 的 useChat 是如何抽象流式状态与错误恢复的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明其数据协议、自动状态更新与 onError/reload 机制。