這裏是類別:http.Server文檔的NodeJS事件監聽器邏輯
[Q1]:是功能(請求,響應){...}請求事件的監聽器?
[Q2]:如果從我的理解來看,每當有請求時,監聽者就會被調用?
[Q3]:根據以下,
意思,如果我通過在偵聽器作爲一個參數,它會在請求事件自動記錄我可以傳遞任何功能?目的?
如果我通過函數(請求,響應){...},當它被請求事件觸發時,它是否就是所謂的回調函數?
不太清楚有關回調函數
這裏是類別:http.Server文檔的NodeJS事件監聽器邏輯
[Q1]:是功能(請求,響應){...}請求事件的監聽器?
[Q2]:如果從我的理解來看,每當有請求時,監聽者就會被調用?
[Q3]:根據以下,
意思,如果我通過在偵聽器作爲一個參數,它會在請求事件自動記錄我可以傳遞任何功能?目的?
如果我通過函數(請求,響應){...},當它被請求事件觸發時,它是否就是所謂的回調函數?
不太清楚有關回調函數
requestListener
的定義是你傳遞給http.createServer()
方法的功能。如果你傳遞了這個函數,那麼它會在http服務器接收到的每個傳入請求中被調用。
而且,當它被調用時,將按照該順序使用兩個參數,一個request
對象和一個response
對象進行調用。
您傳遞給http.createServer()
的函數requestListener
被稱爲callback
函數,因爲您傳遞的函數將在稍後被其他代碼調用。
下面是一個簡單的例子:
// Create an simple http server that knows about one request URL
var server = http.createServer(function(req, res) {
if (req.url === "/") {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('okay');
} else {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('not okay');
}
});
[Q1]:是函數(請求,響應){...}的請求事件的監聽器?
這是一個回調函數,會自動爲request
evnet註冊,因此會針對每個傳入的http請求進行調用。
[Q2]:如果據我瞭解,每當有請求時, 偵聽器被調用?
是的。
[Q3]:這是否表示如果我傳入一個監聽器作爲參數,它會自動註冊請求事件 ?
是的。
我可以傳入任何函數Object嗎?
是的。您必須按照順序將請求和響應適當地聲明爲參數,但是您可以根據需要命名這些參數。它們的值作爲第一個和第二個參數傳遞。參數的名稱是您選擇在函數中使用的任何名稱。通常的約定是使用(req, res)
或(request, response)
,因爲這會使其他node.js開發人員更容易識別您的代碼。
如果我傳入函數(request,response){...},請求事件觸發時是否有所謂的 回調函數?
是的。
不太清楚有關回調函數
的定義,它只是你作爲參數傳遞給另一個函數的函數。它可以是一個名爲的函數,它被定義爲一個命名函數,或者它可以是一個內聯匿名函數,如上例所示。它並不重要。它被稱爲callback function
,因爲它將在未來某個時間被其他代碼「回調」。