Функция Express.js router.param ()

Опубликовано: 30 Июля, 2021

Параметры router.param () - это имя и функция . Где имя - это фактическое имя параметра, а функция - это функция обратного вызова. В основном функция router.param () запускает функцию обратного вызова всякий раз, когда пользователь направляется к параметру. Эта функция обратного вызова будет вызываться только один раз в цикле ответа на запрос, даже если пользователь обращается к параметру несколько раз.

Синтаксис:

 router.param (имя, функция)

Параметры функции обратного вызова:

  1. req - объект запроса
  2. res - объект ответа
  3. next - следующая промежуточная функция
  4. id - значение параметра name

Сначала вам нужно установить модуль экспресс-узла в ваше приложение node js.

Установка express js выглядит следующим образом:

npm init 
npm установить экспресс

Создайте файл с именем app.js и вставьте в него следующий код.




//
const express = require( "express" );
const app = express();
//import router module from route.js file
const userRoutes = require( "./route" );
app.use( "/" , userRoutes);
//PORT
const port = process.env.PORT || 8000;
//Starting a server
app.listen(port, () => {
console.log(`app is running at ${port}`);
});

Нам нужно создать еще один файл с именем route.js в том же каталоге.

Код для файла route.js




const express = require( "express" );
const router = express.Router();
router.param( "userId" , (req, res, next, id) => {
console.log( "This function will be called first" );
next();
});
router.get( "/user/:userId" , (req, res) => {
console.log( "Then this function will be called" );
res.end();
});
// Export router
module.exports = router;

Запустите сервер, введя следующую команду

 узел app.js

Введите следующий адрес в браузер

http: // локальный: 8000 / пользователь / 343

Вы увидите следующий вывод в своем терминале