Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “在哪里?”;“请求”;及;回应";从哪里来,我怎么会知道?_Javascript_Node.js_Events_Backend_Function Parameter - Fatal编程技术网

Javascript “在哪里?”;“请求”;及;回应";从哪里来,我怎么会知道?

Javascript “在哪里?”;“请求”;及;回应";从哪里来,我怎么会知道?,javascript,node.js,events,backend,function-parameter,Javascript,Node.js,Events,Backend,Function Parameter,我已经决定学习node,所以我现在就开始学习。正如我猜在许多其他资源中一样,第一步是“简单HTTP服务器”,类似于: var http=require(“http”); createServer(函数(请求、响应){ writeHead(200,{“内容类型”:“text/plain”}); 回复。写下(“你好世界”); response.end(); }).听(8888); 据我所知,当有人(在本例中是我,尽管是localhost:8888)发出请求时,会触发一个事件,并触发传递给http.

我已经决定学习node,所以我现在就开始学习。正如我猜在许多其他资源中一样,第一步是“简单HTTP服务器”,类似于:

var http=require(“http”);
createServer(函数(请求、响应){
writeHead(200,{“内容类型”:“text/plain”});
回复。写下(“你好世界”);
response.end();
}).听(8888);
据我所知,当有人(在本例中是我,尽管是
localhost:8888
)发出请求时,会触发一个事件,并触发传递给
http.createServer
的匿名函数。我把我设法找到的有关http.createserver的文档放在这里,供任何觉得有用的人使用:

http.createServer([requestListener])

返回一个新的web服务器对象

requestListener是一个自动添加到“请求”事件的函数

(来自现场)

我无法通过这个触发函数找到或弄清楚它是如何传递参数的,以及如何找到它的。所以我如何知道这些参数来自何处,它们提供了什么方法,等等


提前谢谢

这应该是创建堆栈: > 因此,如果触发了请求,应该触发它:-或者可能是这样:

The,解释了您需要了解的关于a和a的几乎所有信息,包括方法和事件

如果您需要有关HTTP协议的一般信息,可以通过谷歌搜索找到大量资源,例如

如果您想详细了解HTTP是如何在节点中实现的,则必须跳转到


另外,您可能会对node最常用的web框架感兴趣,因此在线提供了大量关于它的资源

在JavaScript中,函数可以作为参数传递到方法中。例如:

function funcA(data) {
    console.log(data);
}
function funcB(foo) {
    foo('I'm function B');    // Call 'foo' and pass a parameter into that function
}
funcB(funcA); // Pass funcA as a parameter into funcB
您使用http.createServer执行的操作如上所述,传递一个可以接受参数的函数。A希望您传入一个它可以调用的函数。服务器将执行内部操作,创建一个请求和响应对象,然后调用您传递的带有这些变量的函数


有关这些参数的详细信息,请阅读。

事件:“请求”
就在链接结束的位置下方。它是由node.js本身定义的。在熟悉node之前,node.js文档不是很好。有很多次我只是参考源代码来理解它。不过,一旦你熟悉了它,就没那么糟糕了。我怎么能浪费这么多时间去寻找眼前的东西!谢谢如果你回答我,我马上就接受。这是它的另一个链接,我认为这一点更为恰当。Marc B提到的文档是一条路,但它们通常有点单薄。让我想起了手册页,它们让你找到了正确的方向,但往往忽略了关键信息。或者假设你知道你在做什么:-)我发现便宜的Leanpub在线节点书也相当有用。也许我太笨了,但这对我来说还是太令人困惑了。你想知道你的函数是如何获得参数的吗?您定义的函数被传递到createServer()-它调用服务器()-它将您的函数添加为事件侦听器,并在最后两个链接行之一调用它。在通过self.emit('request',req,res)调用的这一点上,res和req作为参数传递给您的函数。很好,但这仍然会让我很想知道
req
res
是什么,尽管我也会尝试阅读源代码,所以我开始获得完全理解它所需要的能力。我现在想我知道它们是什么了。谢谢,我实际上对书有点生气,对第一个参数很感兴趣,我现在相信这是
http的一个实例。IncomingMessage
这正是我要找的。