Node什么时候发出数据事件?

时间:2012-09-27 18:07:07

标签: node.js upload

我正在考虑实现一个节点服务器,该服务器将接收可能较大的文件的上传并通过另一个流转发数据。我发现了这篇文章:

http://www.componentix.com/blog/13/file-uploads-using-nodejs-once-again

其中包含一些有用的代码示例,用于处理各种事件以及两侧流速不同的泵问题。我还不清楚(以及我似乎无法找到文档的内容)是当节点为传入的流发出'data'事件时。

节点docs state:

  

事件:'数据'

     

收到数据时发出。参数数据将是Buffer或   串。数据编码由socket.setEncoding()设置。 (见   可读流部分了解更多信息。)

“收到数据时”是什么意思?当传入的数据块达到一定大小时会被触发吗?传入连接关闭时?过了一段时间?

1 个答案:

答案 0 :(得分:1)

流有一个内部缓冲区,用于存储数据,直到它准备好触发数据事件。这可能是一些情况,具体取决于流的类型:内部缓冲区已满,所有数据读取,连接已关闭等。

网络流可能使用从套接字读取方法接收的任何数据来触发数据事件。如果我可以在节点源中找到它,我会引用它。