Промежуточное ПО для создания сервера времени
app.METHOD(path, middlewareFunction)
можно смонтировать по определенному маршруту, используя app.METHOD(path, middlewareFunction)
. Промежуточное программное обеспечение также может быть связано внутри определения маршрута.
Посмотрите на следующий пример:
app.get('/user', function(req, res, next) {
req.user = getTheUserSync(); // Hypothetical synchronous operation
next();
}, function(req, res) {
res.send(req.user);
})
Этот подход полезен для разделения операций сервера на более мелкие единицы. Это приводит к лучшей структуре приложения и возможности повторного использования кода в разных местах. Этот подход также можно использовать для проверки данных. В каждой точке стека промежуточного программного обеспечения вы можете заблокировать выполнение текущей цепочки и передать управление функциям, специально разработанным для обработки ошибок. Или вы можете передать управление следующему подходящему маршруту для обработки особых случаев. Мы увидим, как в расширенном разделе Экспресс.
В маршруте app.get('/now', ...)
функцию промежуточного программного обеспечения и конечный обработчик. В функции промежуточного программного обеспечения вы должны добавить текущее время к объекту запроса в ключе req.time
. Вы можете использовать new Date().toString()
. В обработчике ответьте объектом JSON, взяв структуру {time: req.time}
.
Подсказка: тест не пройдет, если вы не подключите промежуточное ПО. Если вы смонтируете функцию где-то еще, тест не пройдёт, даже если результат вывода верный.
In the route app.get('/now', ...)
chain a middleware function and the final handler. In the middleware function you should add the current time to the request object in the req.time
key. You can use new Date().toString()
. In the handler, respond with a JSON object, taking the structure {time: req.time}
.
Note: The test will not pass if you don’t chain the middleware. If you mount the function somewhere else, the test will fail, even if the output result is correct.