打开写入流会导致单独的读取流不执行任何操作

时间:2015-09-02 22:06:05

标签: node.js coffeescript stream

运行以下代码可以正常运行,会记录块,不会给出错误消息,当流结束时,会记录结束。

stdout.on 'error', (error) ->
  console.log error

stdout.on('data', (chunk) ->
  console.log(chunk)
)

stdout.on('end', ->
  console.log("Ended")
  callback error, null
)

这是一个非常奇怪的问题发生的地方。我添加一行

writeStream = fs.createWriteStream('image.jpeg')

stdout.on 'error', (error) ->
  console.log error

stdout.on('data', (chunk) ->
  console.log(chunk)
)

stdout.on('end', ->
  console.log("Ended")
  callback error, null
)

一旦定义了writeStream,stdout上就什么都没发生,没有记录错误,没有块,没有结束。没什么:(

上下文

我的应用程序进入此状态的一般流程是客户端对服务器进行API调用,服务器从本地存储中获取图像并通过名为graphicsmagick的流行节点js库运行它,该库转换图像尺寸在我的情况下,它作为一个流回到stdout。

通常我只是将stdout传回给用户并给他们重新调整大小的图像,但这次我想尝试使用写入流来保存调整大小的文件。

更多情境 一旦我打开写入流,一切都会消失,我在文件的顶部定义了一个写入流,并且文件中的调试停止输出。客户端从服务器收到502错误响应

0 个答案:

没有答案