2012-06-05 4 views
0

Я новичок в nodejs и почти n00b JavaScript. Я видел код для создания сервера с помощью nodejs. Я могу понять, что анонимная функция вызывается после того, как запрос достиг сервера.как эта функция обратного вызова работает

var http=require("http"); 
http.createServer(function(request,response){ 
response.writeHead(200,{"Content-Type":"text/plain"}); 
response.write("hello world"); 
responde.end(); 
}).listen(8888); 

Мой вопрос заключается в том, как реализовать что-то подобное, как функции createServer (Foo() бар()) .. для того, чтобы понять, как работает этот метод.

Для того, чтобы уточнить условия поиска. Я сделал это, что не работает. и как заставить его работать как createServer()?

function dummycallback(para1,para2,callback) 
{ 
console.log('para1 is ' + para1+' para2 is '+ para2); 
callback(); 
} 

dummycallback(1,2,function(req,res) 
{ 
req.senddata("good"); 
}); 

Я видел эти символы повсюду в nodejs, так что я отчаянно хочу знать подробности ... еще раз спасибо

+2

Ваш вопрос неясен. Вы просите кого-нибудь объяснить внутреннюю структуру и логический поток модуля 'http', или у вас есть конкретная проблема использования, с которой вам нужна помощь? – lanzz

+1

Поскольку это не настоящий вопрос, на него трудно ответить. https://github.com/joyent/node/blob/master/lib/http.js#L1625 – TheHippo

+0

Трудно понять, что вы просите. Не могли бы вы привести еще один пример? –

ответ

0

Может быть, вы спрашиваете, как работает анонимная функция.

var fun = function(foo){ 
    if (foo) foo(1, 2); ///< if function foo exists, call it. 
} 
fun(function(p1, p2){ 
    return p1 + p2; 
}); 
Смежные вопросы