Это намеренный аспект разработки Connect (промежуточное программное обеспечение node.js, отвечающее за это поведение). Функция next
, которую получает ваше промежуточное ПО, - , а не - следующее промежуточное ПО в стеке; это функция, которую генерирует Connect, которая запрашивает следующее промежуточное программное обеспечение для обработки (а также делает некоторые дополнительные действия для обработки особых случаев, например, когда нет «следующего промежуточного программного обеспечения»).
Если ваше промежуточное ПО должно возвращать ответ, просто сделайте это. Если это не так, подразумевается, что какое-то промежуточное программное обеспечение должно возвращать ответ. Если вам нужно передать данные этой более поздней части процесса, вам следует прикрепить их к соответствующей части объекта запроса req
.
Например, связанное промежуточное программное обеспечение bodyParser
отвечает за заполнение req.rawBody
и req.body
на основе содержимого тела запроса. Связанное промежуточное ПО basicAuth
заполняет req.remoteUser
на основе аутентификации HTTP.
Это шаблон, который вы должны попытаться эмулировать: стек промежуточного программного обеспечения, каждый из которых выполняет базовую инкрементную обработку запроса. Если то, что вы пытаетесь смоделировать, не вписывается в эту парадигму, тогда вам, вероятно, нужно просто иметь одну функцию для обработки запроса, из которой вы можете вызывать всю собственную логику приложения, как вам нравится.