Почему код не работает, когда запрос и ответ меняются местами в качестве параметров в express?

#javascript #node.js #express

Вопрос:

Почему функция в app.get не работает, когда я меняю req и res? Разве нельзя написать res перед req?

  const express = require("express");
    const app = express();
    app.get("/",function(req,res){
        
          res.send("Hello World");
        
          });

app.listen(3000, function() {
  console.log("Server started on port 3000");
});
 

Ответ №1:

Порядок аргументов фиксирован. Когда вы меняете их местами, то (res, req) есть аргументы остаются теми же , вы просто называете их по-другому.

Это означает, что используемый вами код на самом деле пытается использовать метод отправки для параметра запроса, который не будет работать.

Комментарии:

1. Где я могу найти код, в котором определены фактические параметры?

2. Случайно внес правку в неправильный пост (ваш), пожалуйста, не обращайте внимания, @bouffelec…

3. @AyushNarang Вам, вероятно, следует ознакомиться с документацией: expressjs.com/en/4x/api.html Хотя, конечно, не помешало бы сначала изучить некоторые основы Javascript.

Ответ №2:

Вы не меняете местами фактические значения, которые они представляют, только имена параметров. Таким образом, req по-прежнему является res, а res по-прежнему является req.

Это означает, что используемый вами код на самом деле пытается использовать метод отправки для параметра запроса, который не будет работать.