我有一个明确的控制器动作“可能”发送内容的情况。
“发送”表示发送了内容(http 200)或将http状态设置为某种内容(例如http状态204或重定向)
如果没有发送/设置任何内容,则默认例程应发送默认内容。
如果快速控制器动作已经设置了内容或设置了状态代码,我如何在默认例程中进行测试?
response.headersSent 应该管用。
例如:
if (response.headersSent) {
console.log('Headers sent!')
} else {
console.log('Headers have not been sent.')
}
res.writeHead(200);
if (response.headersSent) {
console.log('Headers sent!')
} else {
console.log('Headers have not been sent.')
}
Run Code Online (Sandbox Code Playgroud)
与客户端连接应记录以下内容:
Headers have not been sent.
Headers sent!
Run Code Online (Sandbox Code Playgroud)