область действия res в node.js - PullRequest
0 голосов
/ 01 декабря 2018
var express = require('express');
var app = express();

app.use(express.static('public'));
app.get('/index.htm', function (req, res) {
   res.sendFile( __dirname + "/" + "index.html" );
})
app.get('/process_get', function (req, res) {
   // Prepare output in JSON format
   response = {
      first_name:req.query.first_name,
      last_name:req.query.last_name
   };
   console.log(response);
   res.end(JSON.stringify(response));
})

var server = app.listen(8081, function () {
   var host = server.address().address
   var port = server.address().port

   console.log("Example app listening at http://%s:%s", host, port)
})

1) Я получил Учебное пособие с точки обучения

2) Я думаю, что req в / process_get будет пустым, но здесь у req есть все мои данные, как это возможно

3) Я думаю, что область действия этой функции ограничена только этой функцией, но как она может получить доступ к значению предыдущей функции

4) как мы можем справиться, если у нас есть несколько объектов req в коде

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

Express.js будет затем вызывать его как часть своего стека промежуточного программного обеспечения при обработке запроса, передавая ему аргументы req , res и next .

0 голосов
/ 01 декабря 2018

req - это объект, который представляет запрос на сервер.Это аргумент для обратного вызова, который вызывается, когда сервер получил запрос.Вы можете думать об этом как о результате app.get для route / process_get.res работает таким же образом, но представляет ответ, отправленный сервером.res.end() - это то, что отправляет ответную полезную нагрузку запрашивающей стороне.

И req, и res существуют только в области действия функции обратного вызова.Вот почему есть req и res в обратных вызовах обоих маршрутов /index.htm и /process_get.

Надеюсь, это немного прояснит ситуацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...