我有一个明确的 Controller Action “可能”发送内容的情况。

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

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

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

最佳答案

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.')
}

与客户端连接应记录以下内容:
Headers have not been sent.
Headers sent!

关于node.js - 如何测试响应是否已设置/发送?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15288595/

10-16 17:16