Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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
stream.on(';connect';)和stream.on(';data)调用顺序-node.js_Node.js - Fatal编程技术网

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

stream.on(';connect';)和stream.on(';data)调用顺序-node.js,node.js,Node.js,我对这些函数(事件)的调用顺序有问题。 不知何故,事件数据似乎在连接之前执行。 我怎样才能解决这个问题?我错过了什么 以下事件顺序是否合理(以及原因): 客户端请求 创建服务器 流连接 流数据 客户端请求 流数据(以前的请求数据) 流连接 流数据(第二个请求数据) 流写入错误,因为该流为空(在粗体数据事件中该流已关闭)根据我在序列中的回忆,您犯了一个思考错误。data事件可能会因为数据块而多次发生,因此您不能依赖它 因此: 在数据事件中,缓冲所有获得的数据,在end事件中,可以对数据进行处理。我

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

以下事件顺序是否合理(以及原因):

客户端请求

创建服务器

流连接

流数据

客户端请求

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

流连接

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


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

根据我在序列中的回忆,您犯了一个思考错误。
data
事件可能会因为数据块而多次发生,因此您不能依赖它

因此:


在数据事件中,缓冲所有获得的数据,在
end
事件中,可以对数据进行处理。我现在读取序列的方式是,您正在对第一块数据启动
clientrequest
?如果不是这样,请创建一个代码示例并将其发布到或Github上。

可能与fs.readFile有关?感谢您的回复,是的,当然数据可能会出现多次,但您可以在这里假设它只出现一次。由于我正在使用net模块,因此请求端对我不可用。我认为这一切都归结为回电误会。有什么建议吗?
connect
data (can be multiple times)
end