Откуда берутся параметры в функции обратного вызова javascript?

Я понимаю суть функций обратного вызова в том, что функция выполняется снова после передачи в качестве параметра другой функции. Тем не менее, я запутался в том, откуда берутся переменные внутри функции обратного вызова, как показано в следующем примере node.js:

router.get('/', function(req, res){
    res.render('index', {});
});

Как заполняются переменные req и res? Был бы очень признателен за пример, объясняющий, как я могу просто вызвать res.render (...) без объявления res самостоятельно.

Ответы на вопрос(3)

Ваш ответ на вопрос