responseWriter

responseWriter

ctx对象的responseWriter是一个writer对象,可以用于给客户端返回流式输出。

名称类型参数返回值说明
flush方法void刷新数据
write方法stringBuffervoid写入数据
status方法intvoid写入响应状态
setHeader方法key:string,value:stringvoid设置响应头(追加&覆盖)
addHeader方法key:string,value:stringvoid设置响应头(只追加,不覆盖)
getHeader方法key:stringvoid获取响应头
close方法void关闭连接
isCanceled方法boolean判断是否被取消

语法

import {HttpServer} from "http";

let server = new HttpServer({
	addr: ":8090",
});

server.any("/test", (ctx) => {
	let writer = ctx.responseWriter()
	// 输出流式数据
	writer.write("{code:0,msg:\"success\"}");
	// 刷新数据
	writer.flush();
});

server.start();

responseWriter.addHeader()适合追加多个同名响应头,例如多个Set-Cookie

server.get("/multi-cookie", (ctx) => {
	let writer = ctx.responseWriter();
	writer.addHeader("Set-Cookie", "token=abc123; Path=/; HttpOnly");
	writer.addHeader("Set-Cookie", "theme=dark; Path=/; Max-Age=86400");
	ctx.body = {
		code: 0
	};
});

如果这里改成setHeader("Set-Cookie", ...),后一次设置会覆盖前一次设置。

更新时间 3/18/2026, 7:21:33 PM