node.js - NodeJs 中的 response.writeHead 和 response.end

标签 node.js

var https = require('https');
var fs = require('fs');

var options = {
  key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};

https.createServer(options, function (req, res) {
  res.writeHead(200);
  res.end("hello world\n");
}).listen(8000);
  1. 谁能解释一下为什么我们调用 writeHeadend createServer 方法中的方法。
  2. createServer中传入options对象的主要用途是什么 方法。

最佳答案

那些对 writeHeadend 的调用不是在 createServer 方法中完成的,而是在回调中完成的。

如果将回调拆分为单独的函数,则更容易查看:

function handleRequest(req, res) {
  res.writeHead(200);
  res.end("hello world\n");
}

https.createServer(options, handleRequest).listen(8000);

所以在这里我们定义了一个 handleRequest 函数,然后将它传递给 createServer 调用。现在,每当我们创建的 node.js 服务器收到传入请求时,它都会调用我们的 handleRequest 方法。

这种模式在 JavaScript 中很常见,是 node.js 异步事件处理的核心。

关于node.js - NodeJs 中的 response.writeHead 和 response.end,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14243100/

相关文章:

javascript - node.js 在控制台显示 "undefined"

javascript - 错误lib sprintf nodejs restify mysql

javascript - Node js发布请求而不刷新

node.js - NodeJs 应用程序上的多个可选路由和 2 个处理程序

node.js - PubNub安全组管理

javascript - POST 请求中的查询字符串与 json 数据

node.js/express : use router. 具有中间件功能的route()

node.js - VM 上的 Cosmos DB 模拟器和主机 MacOS 上的 Azure Function App 未通过 SSL 验证

javascript - 无法读取 Node.JS 中的嵌套 JSON 对象

http - 开发网络服务器有哪些不同的方法?