我是nodejs的新手。参考此链接部分http.createServer([options][, requestListener])
我知道如何创建options
对象.但是对于[, requestListener]
,文档中说明它是<Function>
。当我点击<Function>
的链接是here时,它表明<Function>
是一个正常的函数,可能是lambda
,然而,在第一个链接中所述的http.createServer([options][, requestListener])
的文档中,它演示了以下内容:
http.createServer((req, res)
据我所知,(req, res)
是两个不同的回调,在某种程度上不是普通的<Function>
。我有点糊涂了。
1.请告诉我(req,res)
和<Function>
的区别
2.其中在文档(req,res)
中解释。我想知道如何配置或访问req
和res
的属性
2条答案
按热度按时间f0brbegy1#
你误解了代码。
(req, res)
不是createServer
的参数。这整个就是一个arrow function expression,一种定义匿名函数的方法:它在很大程度上(但不完全)等同于:
不同之处(这里并不重要,但为了完整起见)是:后者可以是函数表达式或函数语句,而前者总是表达式;前者不重新定义
this
,而后者重新定义;并且前者不被分配给变量,而后者可以是(在这种情况下为serverHandler
)。对于
serverHandler
的后一种定义,您可以如下使用它:在后一个示例中,匿名箭头函数表达式与函数标识符的作用相同。
编辑有关
req
和res
的更多文档:根据
createServer
的文档:requestListener
是自动添加到'request'
事件的函数。根据
'request'
事件的文档,事件回调获取两个参数:request
,IncomingMessage
的示例,以及response
,ServerResponse
的示例。uidvcgyl2#
回调的
req
和res
参数与相应request
事件的request
和response
属性相同。事件:'request'
版本:v0.1.0
request
<http.IncomingMessage>
response
<http.ServerResponse>
然后,您可以通过这些数据类型的文档链接查看如何在服务器中使用它们。