如何理解该Node代码的工作方式?

时间:2019-07-30 11:55:37

标签: javascript node.js

我是一位正在尝试理解此代码的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"));
  }
}

1 个答案:

答案 0 :(得分:0)

该代码具有以端口和回调函数为参数的侦听功能。首先,它检查端口的类型(如果该数字是类型),然后再次检查该方法是GET还是POST方法。基于此,它使用httpGetRequest或httpPostRequest发出事件。

否则,将req参数设为空。而且,如果端口的类型是数字,那么它将开始监听该端口。

在这里,您可能会与箭头函数,回调函数,eventEmitter混淆。

由于您是Web开发人员的新手,请先学习Web的基础知识,然后尝试从源代码中阅读正式文档。不要从互联网复制和粘贴代码,并检查它们是否正在运行。这永远不会帮助您提高知识质量。