我是一位正在尝试理解此代码的Web开发人员。该代码的作用是什么?与仅创建服务器并侦听所有请求有何不同?
listen(port, callback) {
if (typeof(port) == "number") {
http.createServer((req, res) => {
if (req.method === "GET") {
parseGetRequest(req, () => {
eventEmitter.emit("httpGetRequest", req, res);
});
} else if (req.method === "POST") {
parsePostRequest(req, () => {
eventEmitter.emit("httpPostRequest", req, res);
});
} else {
req.parameters = null;
}
}).listen(port);
} else {
callback(new Error("The defined Port is not a number"));
}
}
答案 0 :(得分:0)
该代码具有以端口和回调函数为参数的侦听功能。首先,它检查端口的类型(如果该数字是类型),然后再次检查该方法是GET还是POST方法。基于此,它使用httpGetRequest或httpPostRequest发出事件。
否则,将req参数设为空。而且,如果端口的类型是数字,那么它将开始监听该端口。
在这里,您可能会与箭头函数,回调函数,eventEmitter混淆。
由于您是Web开发人员的新手,请先学习Web的基础知识,然后尝试从源代码中阅读正式文档。不要从互联网复制和粘贴代码,并检查它们是否正在运行。这永远不会帮助您提高知识质量。