2011-12-29 12 views
5

enter image description hereprocess.nextTick error in node.js?

Estoy recibiendo el error process.nextTick en este ejemplo muy básico de node.js.

¿Alguien puede darse cuenta? ¿El nodo no puede comenzar a escuchar en el puerto 8000?

# cat nodejs.js 
net = require("net"); 
s = net.createServer(); 

net.on('connection', function (c) { 
c.end('hello'); 
}); 

s.listen(8000); 

# node nodejs.js 

node.js:201 
    throw e; // process.nextTick error, or 'error' event on first tick 
     ^
TypeError: Object #<Object> has no method 'on' 
at Object.<anonymous> (/home/ec2-user/praveen/nodejs.js:4:5) 
at Module._compile (module.js:432:26) 
at Object..js (module.js:450:10) 
at Module.load (module.js:351:31) 
at Function._load (module.js:310:12) 
at Array.0 (module.js:470:10) 
at EventEmitter._tickCallback (node.js:192:40) 

Respuesta

4

Parece que está tratando de capturar un evento en la biblioteca (net), pero se debe buscar en the connectionListener argument to createServer. Pruebe esto en su lugar:

var net = require("net"); 

var server = net.createServer(function (c) { 
    c.end('Hello!'); // Implicitly fired on 'connection' 
}); 

server.listen(8000); 
+0

¿verdad? He copiado exactamente el mismo comando del discurso de Ryan. –

+0

Node.js está cambiando tan rápido que no puede confiar en material de más de unos meses. No estoy seguro de cuándo fue esa presentación, pero así es como lo hace en el nodo 0.6. – sczizzo

+0

Muchas gracias ... funciona. Supongo que la presentación era muy antigua. –

10

¡Es un error tipográfico en la diapositiva de Ryan! : -0

s/net.on/s.on/ 
+0

+1 Sí, eso también funciona. – sczizzo

1

Para cualquier persona que pueda tropezar aquí en busca de qué nodo pukes este error cuando intentan emitir brunch watch --server, comprobar y asegurarse de que no tiene ningún otro servidor que se ejecutan en el mismo puerto (es decir, en otro caparazón).

Cuestiones relacionadas