- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法理解 fs.createReadStream 在 Node.js 中如何工作。
我有示例代码:
var fs = require('fs');
var stream = fs.createReadStream(__dirname + '/read.text');
stream.on('data', function(chunk){
console.log('new chunk arrived');
console.log(chunk);
console.log('');
})
stream.on('close', function(){
console.log('file closed')
})
stream.on('end', function(){
console.log('stream ended')
})
stream.on('open', function(){
console.log('File opened')
});
console.log('one');
console.log('two');
在此代码中,文件中的 block 何时开始流式传输?
当我们在线声明一个对象时?
var stream = fs.createReadStream(__dirname + '/read.text');
在这条线上?
stream.on('data', function(chunk){
console.log('new chunk arrived');
console.log(chunk);
console.log('');
})
或者当整个代码被执行时?
同步还是异步?
如果您逐行解释代码,我将不胜感激。
最佳答案
javascript 是完全异步的,
函数createReadStream按以下顺序调用事件,
在行
var stream = fs.createReadStream(__dirname + '/read.text');
你创建了一个流,是空的,但是获取数据的过程启动,订阅事件从未启动过程,
关于javascript - Node.js 中的 fs.createReadStream 内部如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44861708/
我想收到您对使用 fp-ts 的 TaskEither 使用的反馈或其他用于学习目的的函数式编程库: 我在处理nodejs流时使用Promise,以这种方式使用Promise是一个好的解决方案吗?最直
我正在尝试打开一个 img 文件并通过 http 发送它。我读到最好的方法是 creatReadStream,因为它是异步的,而且性能更好。 这是我的代码: var file = fs.createR
我正在尝试执行以下操作: 逐行流式传输 csv 文件。 修改每一行中包含的数据。 流式传输和处理所有行后,完成并继续执行下一个任务。 问题是.on("end")在 .on("data") 之前发生火灾
我是 NodeJS 的新手,我正在尝试从麦克风直播到 MP3 文件,字节正在实时写入 MP3 文件,我希望用户能够真正播放这个 MP3 流文件-瓷砖也。 到目前为止,我为阅读流所做的(当然是在伟大社区
我正在尝试读取上传的 .csv 文件并将其存储在数组中,以便将数据批量插入到我的数据库中,我正在使用 csv-parser package 和用于文件流的 fs 。 router.post('/fil
我现在正在学习 Node.js,使用“Beginning Node.js”教科书。 书中的示例在命令提示符下无法正常执行。 (我正在使用 Ubuntu 18.04 和 Node v9.4.0,这本书是
如何设置一个等于 fs.createReadStream 返回的数据的变量,以便我可以打印出该变量,然后获取文件内容。 var rs = fs.createReadStream('file.txt',
https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options .我还有一个一般性问题。 我可以假设除非文档中另有说明,否则提到的
为了使用 nodejs 逐行读取文本文件,我有以下代码: var lineReader = require('readline').createInterface({ input: require(
我需要使用 formData 将 pdf 发送到 api。我下载了 pdf,登录后如下所示:如果我fs.writeFileSync它是完全可读的。但我想尝试将它传递给 api 而不必用 fs 编写它,
我正在使用 DropBox API 上传文件。要将文件上传到保管箱,我将执行以下步骤: 首先将文件从 form 上传到服务器上的本地目录。 使用fs.createReadStream从本地目录读取文件
根据 official document , createReadStream 可以接受缓冲区类型作为 path 参数。 但是很多问答只提供了如何通过string发送参数的解决方案,而不是buffer
抱歉,我有几个关于 createReadStream() 的问题。 基本上,我正在做的是动态构建一个文件,并在完成后使用 fs 将其流式传输给用户。我正在使用 .pipe() 来确保我的节流正确(如果
我正在尝试使用我的 NodeJS 应用程序将文件从我的 s3 存储桶发送到客户端。这是我目前所拥有的: import { S3 } from '@aws-sdk/client-s3'; const B
我正在运行一个 SSR React node.js 服务器,我需要一些关于如何解决我的问题的建议。我的 node.js 服务器崩溃/重新启动错误,如窗口未定义等,而不是仅仅记录并打印出 500 错误消
我正在尝试编写一个测试用例,以判断此代码何时会发出错误: s3.getObject({ Bucket: mediaBucket, Key: mediaId, }).create
我更喜欢使用 Promise 而不是回调,因此我使用了 util.promisify。 `use strict`; const util = require(`util`), request
目前,我正在尝试向 on 事件传递一个额外的参数,从 CSV 文件获取数据后将触发该事件。我尝试将其作为额外参数添加到回调函数中,但它总是未定义。 fs.createReadStream(values
我尝试了这个简单的代码 var fs = require('fs'); var stream = fs.createReadStream(fileName); stream.on('readable'
如果我只想一次读取 10 个字节,或者一次读取一行数据(查找换行符),是否可以像这样传递 fs.createReadStream() 选项 var options = {} var strea
我是一名优秀的程序员,十分优秀!