Есть ли способ добавить промежуточное ПО в конец цепочки экспресса app
или router
, которая вызывается для отслеживания того, был ли отправлен ответ res
/ или нет?
Iозначает, независимо от того, если:
- Отправляется ответ (строка, JSON и т. д.)
- Статический обслуживаемый файл.
- Файл не найден в статическомпапка.
- A всеобщая обратная связь достигнут обратный вызов.
- Достигнуто промежуточное ПО ошибки.
Пример
Например, если я хотел записать все ...
, был ли ответ успешным или нет , , т. Е. Он служил файлу через express.static( ... )
промежуточное программное обеспечение, некоторые данные, извлеченные из БД, или пользовательское промежуточное программное обеспечение, или еще раз ... если произошел сбой / возникла ошибка ... , есть ли способ вызвать обратный вызов в самом конце?
Насколько я понимаю, по замыслу, если статический файл успешно обслуживается (через express.static ), он не вызывает next()
, поэтому tцепочка останавливается на этом.
И для любого специального промежуточного программного обеспечения, использующего res.send()
, вы обычно не хотите вызывать next()
впоследствии, так как это может вызвать некоторые нежелательные побочные эффекты (ошибки при повторном отправлении заголовков).
Для обработчиков ошибок это проще, поскольку здесь могут быть обнаружены все неудачные ответы.
Но как он может вывести как успешные, так и неудачные ответы?Может ли это быть что-то, что должно быть сделано без промежуточного программного обеспечения?