7

エクスプレスコントローラーアクションがコンテンツを送信する場合があります。

「送信」とは、コンテンツが送信されたか(http 200)、またはhttpステータスが何かに設定されたこと(httpステータス204またはリダイレクトなど)を意味します。

何も送信/設定されていない場合、デフォルトのルーチンはデフォルトのコンテンツを送信する必要があります。

Express Controllerアクションですでにコンテンツが設定されているか、ステータスコードが設定されているかどうかを、デフォルトのルーチンでテストするにはどうすればよいですか?

4

1 に答える 1

9

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!
于 2017-04-08T18:25:49.840 に答える