运行以下代码可以正常运行,会记录块,不会给出错误消息,当流结束时,会记录结束。
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错误响应