节点管道处理输入

Node Pipes Handle Input

我正在将数据从一个文本文件传输到另一个管道,该管道正在从某些网址下载图像。现在正如预期的那样,这会快速连续发送大量请求,并且远程服务器会关闭我。我只想在处理完第一个块后才处理下一个块。 我的代码是:

read.pipe(JSONStream.parse('*'))
.pipe(es.map(function (d, cb) {
    download_images(x,y)
       .then(function(r) ...)
       .fail(function(r)  ...)
       .fin(function(f) cb())
 })
.pipe(xyz)

由于我刚刚开始研究流,我可能错过了一个非常简单的要点,或者在我热衷于使用流的过程中我可能忽略了更好的方法

您可以在调用 download_images() 之前调用 read.pause(),然后在调用 cb() 之前调用 read.resume()