2013-04-19 1 views
0

Je suis vraiment confus au sujet de cette sectiondocumentation nodejs de la difficulté à comprendre

http://nodejs.org/api/http.html#http_http_createserver_requestlistener

The requestListener is a function which is automatically added to the 'request' event.

Que signifie le terme "ajoutée" signifie en particulier?

également pour ici http://nodejs.org/api/http.html#http_event_request

Qu'est-ce que le code directement sous function (request, response) { } signifie? Cela signifie-t-il que cette fonction est transmise chaque fois qu'il y a une demande?

Répondre

1

Si elle est toute aide la déclaration

var app = http.createServer(function reqlistener(request, response){...}).listen(1337); 

où la fonction reqlistener est l'argument requestListener, est équivalent à ce qui suit

var app = http.createServer().listen(1337); 
app.on('request', function reqlistener(request, response){...}); 

Il est donc juste un raccourci pour fournir un écouteur pour événement request lors du démarrage du serveur lui-même. L'événement request est émis pour chaque requête une fois reçu par le serveur.

2

Le requestListener est un lsitener qui écoute l'événement 'request'. Chaque fois qu'un événement de requête est émis, le requestListener est exécuté. Vous passez une fonction.

Cette fonction vous passez, doit correspondre:

function (request, response) { } 

Je crois qu'il ya un exemple à la page principale de nodejs.org.

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, '127.0.0.1'); 
console.log('Server running at http://127.0.0.1:1337/'); 

Chaque fois qu'un événement de demande est émis, cette fonction est appelée.

function (req, res) { 
     res.writeHead(200, {'Content-Type': 'text/plain'}); 
     res.end('Hello World\n'); 
    } 

Avec req et res a paramètres. (Demande et réponse).

+0

Je suis encore confus ... _le requestListener est une fonction qui est automatiquement ajoutée à l'événement 'request'. Donc cette fonction d'écouteur est ajoutée à l'événement request? Je pensais que la fonction d'écouteur s'exécute chaque fois qu'il y a une requête. – user784637

+0

Eh bien, je pense qu'ils veulent dire avec 'ajouté', c'est lié à l'événement, qu'il s'exécute quand l'événement est émis. –

+3

Pour 'ajouté', lire 'abonné'. –

Questions connexes