stream.on('connect')和stream.on('data)调用顺序-node.js

时间:2011-12-05 09:39:03

标签: node.js

我对这些功能(事件)的调用顺序有疑问。 不知怎的,似乎事件数据在连接之前执行。 我该如何解决这个问题?我错过了什么?

以下事件顺序是否有意义(及其原因):

clientrequest

createServer

流连接

流数据

的ClientRequest

流数据(以前的请求数据)

流连接

流数据(第二个请求数据)

流写入错误,因为流为空(流在粗体数据事件中关闭)

1 个答案:

答案 0 :(得分:0)

从你能记得的顺序中,你犯了一个思维错误。由于分块数据,data事件可能会多次发生,因此您不能依赖它。

所以:

connect
data (can be multiple times)
end

在数据事件中,您缓冲了所有数据,在end事件中,您可以对数据执行某些操作。我现在阅读你的序列的方式是你在第一块数据上开始clientrequest?如果不是这样,请创建一个代码示例并将其发布在Gist或Github上。