首页 > 解决方案 > 如何理解这个 Node 代码是如何工作的?

问题描述

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

标签: javascriptnode.js

解决方案


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

否则它使 req 参数为空。如果端口的类型是数字,那么它会监听该端口。

在这里你可能会对箭头函数、回调函数、eventEmitter 感到困惑。

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


推荐阅读