gpt4 book ai didi

node.js - nodejs 流与回调

转载 作者:搜寻专家 更新时间:2023-10-31 22:36:23 25 4
gpt4 key购买 nike

我正在阅读这篇文章:http://elegantcode.com/2011/04/06/taking-baby-steps-with-node-js-pumping-data-between-streams/并且在理解流时遇到了一些小麻烦。

引用:

"Suppose we want to develop a simple web application
that reads a particular file from disk and send it to the browser.
The following code shows a very simple and naïve implementation
in order to make this happen."

所以代码示例如下:

var readStream = fileSystem.createReadStream(filePath);
readStream.on('data', function(data) {
response.write(data);
});

readStream.on('end', function() {
response.end();
});

当我们可以简单地做时,为什么我们要使用上面的方式:

fs.readFile(filePath, function(err, data){
response.write(data);
response.end();
});

我什么时候或为什么要使用流?

最佳答案

处理大文件时,您会使用流。使用回调,所有文件的内容必须立即加载到内存中,而使用流,在任何给定时间只有一部分文件在内存中。

此外,流接口(interface)可以说更优雅。您可以使用 pipe,而不是显式附加 datadrainend 回调。 :

var readStream = fileSystem.createReadStream(filePath);
readStream.pipe(response);

关于node.js - nodejs 流与回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12444000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com