Javascript 在node.js服务器中使用https同步读取文件

Javascript 在node.js服务器中使用https同步读取文件,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我看到了一些示例,其中我们可以使用以下代码创建Node.js HTTPS服务器: var https = require('https'); https.createServer({ key: fs.readFileSync('/path/to/something.key'), cert: fs.readFileSync('/path/to/something.crt'), }, app).listen(443); 这里是否需要使用readFileSync?它是否会延迟每个用户的请求

我看到了一些示例,其中我们可以使用以下代码创建Node.js HTTPS服务器:

var https = require('https');

https.createServer({
  key: fs.readFileSync('/path/to/something.key'),
  cert: fs.readFileSync('/path/to/something.crt'),
}, app).listen(443);

这里是否需要使用
readFileSync
?它是否会延迟每个用户的请求,直到读取密钥和证书?在这个上下文中,同步和异步有点混淆。

创建HTTP服务器实例时不需要使用同步读取,只是更方便,文件只需要读取一次,也就是创建服务器实例时

例如,您也可以执行以下操作,但这样做毫无意义,并且会降低代码的可读性:

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

fs.readFile('/path/to/something.key', function(err, key) {
  fs.readFile('/path/to/something.cert', function(err, cert) {
    https.createServer({
      key: key,
      cert: cert
    }, app).listen(443);
  });
});
您需要在HTTP请求处理程序中观察如何处理事情,HTTP请求处理程序是服务器每次接收请求时运行的函数。如果要这样阻止服务器,请执行以下操作:

https.createServer(function(req, res) {
  // block the thread with something synchronous
  res.end();
}).listen(443);

将收到一个请求,并且在阻止操作完成之前,服务器不会接受任何请求。

您好,谢谢您的回复。那么,当我们启动服务器时,createserver的部分只执行一次?然后,客户机的另一个请求没有通过该部分,只是进入路由?例如,在express server中,我们可以读取任何同步文件,例如配置文件。我们所需要注意的阻塞代码都是内部路由?例如:
app.get('/',函数(req,res){//here?})是,内部路由和中间件。这样的设置只执行一次。这有点像
require()
,它是同步的,但只需要运行一次。哇,我完全误解了这里的逻辑,非常感谢。感觉noob:D