Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejswritestream_Javascript_Node.js - Fatal编程技术网

Javascript nodejswritestream

Javascript nodejswritestream,javascript,node.js,Javascript,Node.js,我正在学习nodejswritestream。我无法理解下面的res.end()函数调用的效果。如果以下示例中不存在res.end()调用,会发生什么情况?我删除了它,但没有做任何更改,在这两种情况下,结果都返回给客户端 const fs = require("fs"); const server = require("http").createServer(); server.on("request", (req, res) =&g

我正在学习nodejswritestream。我无法理解下面的
res.end()
函数调用的效果。如果以下示例中不存在
res.end()
调用,会发生什么情况?我删除了它,但没有做任何更改,在这两种情况下,结果都返回给客户端

const fs = require("fs");
const server = require("http").createServer();

server.on("request", (req, res) => {
  const readable = fs.createReadStream("test-file.txt");
  readable.on("data", (chunk) => {
    res.write(chunk);
  });

  // Is the following piece of code really needed?
  readable.on("end", () => {
    res.end();
  });
});

server.listen(8000, "127.0.0.1", () => {
  console.log("Listening...");
});

在某些场景中,res.end用于结束响应,就像它所说的那样,否则它永远不会停止

如果要读取的数据很大,异步函数需要时间才能执行,或者shell脚本需要导出,那么可以使用它