如何测试响应是否已设置/发送?

lge*_*man 4 node.js express

我有一个明确的控制器动作“可能”发送内容的情况。

“发送”表示发送了内容(http 200)或将http状态设置为某种内容(例如http状态204或重定向)

如果没有发送/设置任何内容,则默认例程应发送默认内容。

如果快速控制器动作已经设置了内容或设置了状态代码,我如何在默认例程中进行测试?

Ben*_*ett 5

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)