在支持流式请求体的浏览器中用 fetch 上传 ReadableStream,为什么必须设置 duplex: 'half'(Chrome 105+)?
围绕“在支持流式请求体的浏览器中用 fetch 上传 ReadableStream,为什么必须设置 duplex: 'ha”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出流式上传要求 HTTP/2 或 HTTP/3 且需显式声明 duplex 的兼容性约束。
浏览器 · 流处理面试题第 1 页,显示第 1–7 题,共找到 7 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“在支持流式请求体的浏览器中用 fetch 上传 ReadableStream,为什么必须设置 duplex: 'ha”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出流式上传要求 HTTP/2 或 HTTP/3 且需显式声明 duplex 的兼容性约束。
解释 Response body 的流式单次消费特性,说明 bodyUsed 的判定与克隆的时机限制。通过实际场景展示如何用 clone 并行处理同一响应,并指出克隆前必须未读取,且克隆后每个对象只能读一次。
本文说明 fetch 无上传进度事件的原因,对比 XHR upload.progress 和流式字节统计的适用边界,指导进度条实现技术选型。
围绕“后端以 NDJSON(逐行 JSON)流式返回数据时,前端如何边接收边解析而不是等全部完成”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出缓冲未完整行、按换行切分、最后一块收尾的解析逻辑。
围绕“SSE 的 text/event-stream 数据格式长什么样,EventSource 如何接收消息”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 data: 行、空行分隔消息的格式与 onmessage 接收。
围绕“分块读取流时直接拼接 Uint8Array 转字符串为什么会乱码,TextDecoder 流式解码如何解决”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出多字节字符可能跨块被截断、TextDecoder 的 stream 选项保留不完整字节。
围绕“WebSocket 收发二进制数据时 binaryType 选 blob 还是 arraybuffer,依据是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 arraybuffer 适合立即处理、blob 适合大文件与流式存储的取舍。