diff options
Diffstat (limited to 'deps/npm/node_modules/mississippi/node_modules/stream-each/index.js')
-rw-r--r-- | deps/npm/node_modules/mississippi/node_modules/stream-each/index.js | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/deps/npm/node_modules/mississippi/node_modules/stream-each/index.js b/deps/npm/node_modules/mississippi/node_modules/stream-each/index.js index 7e67f7337a..2c07e957a3 100644 --- a/deps/npm/node_modules/mississippi/node_modules/stream-each/index.js +++ b/deps/npm/node_modules/mississippi/node_modules/stream-each/index.js @@ -8,7 +8,6 @@ function each (stream, fn, cb) { var error = null var ended = false var running = false - var calling = false stream.on('readable', onreadable) onreadable() @@ -36,23 +35,20 @@ function each (stream, fn, cb) { return } if (ended) return cb(error) - if (!calling) read() + read() } function read () { - while (!running && !ended) { - want = false - - var data = shift(stream) - if (data === null) { - want = true - return - } - - running = true - calling = true - fn(data, afterRead) - calling = false + if (ended || running) return + want = false + + var data = shift(stream) + if (!data) { + want = true + return } + + running = true + fn(data, afterRead) } } |