【发布时间】:2020-12-10 11:57:20
【问题描述】:
我正在尝试在 Deno 中流式传输 html 响应,但无法完全弄清楚。
从前端的 Service Worker 执行此操作如下所示:
async function streamResponse(html: {start: (s: string) => Promise<void>}) {
const encoder = new TextEncoder()
const stream = new ReadableStream({
async start(controller : ReadableStreamDefaultController<any>) {
const send = (item: string) => controller.enqueue(encoder.encode(item))
await html.start(send)
controller.close()
}
})
return new Response(stream, { headers: { "content-type": "text/html; charset=utf-8" }})
}
当我在Deno (req.respond({body: stream, headers})) 中做类似的事情时,它说主体不能属于ReadableStream 类型。我知道有一些方法可以做到这一点。我就是想不通。我错过了什么?我查看了多个地方试图了解它是如何完成的,但我还没有找到任何好的例子。
【问题讨论】:
标签: deno