【发布时间】:2013-01-11 03:19:00
【问题描述】:
我目前正试图围绕 Node 的流。我想我明白了,但我不确定。让我困惑的是this quote by Dominic Tarr:
流是最好的节点,也是最容易被误解的想法,[...]
由于 Dominic 绝对是一个非常聪明的人(而且我想比我聪明),我不确定我是否真的正确理解了流,或者我是否错过了重点 ;-)。因此,我想解释一下我是如何理解流的,并请您批准或拒绝。
我对流的基本理解是,流是将数据从源传输到目标的抽象包装器。有可读可写流和可读写的双工流。这个想法是抽象出实际的源或目标,以便您可以专注于处理流,而无需知道您正在处理的实际资源是什么。您只是在访问一个流以进行读取和/或写入。
我对 Node.js 流的理解正确吗? 基本上,这与 .NET 中的流的想法相同(这是我过去 12 年左右的背景)。 Node.js 流与 .NET 中的流有何不同?
举个例子:我想从文件或网络资源中读取并不重要,我只是使用流将实际源抽象出来,然后从该流中读取。我什至可以更改源代码,但我的流式读取代码仍然可以以完全相同的方式工作。这是正确的吗?
【问题讨论】:
-
这种问题对于 SO 来说是题外话。 “如果你问这个问题的动机是‘我想参加关于______的讨论’,那么你不应该在这里问。” stackoverflow.com/faq#dontask
-
我不明白问题出在哪里。常见问题解答明确指出:“如果您的动机是“我希望其他人向我解释______”,那么您可能没问题。” - 这正是我的动机。我希望其他人向我解释我对 Node.js 中的流的想法是对还是错。这是一个有客观答案的问题:是或否。因此,我不理解您的异议。
-
+1,对我来说似乎足够接近主题。 Golo,如果你不介意,我会稍微编辑和改写你的问题,以消除关于它是否是主题的所有问题。一会儿……
-
我想温和地敦促模组请克制地使用“封闭为非建设性”的权力。一方面,我会发现这个讨论非常有建设性。