|
|
@ -66,20 +66,22 @@ module.exports = function simpleSinkStream(_options) { |
|
|
|
return attemptRead(); |
|
|
|
}).catch(isEndOfStream, (error) => { |
|
|
|
/* Don't attempt to do another read, we're done. */ |
|
|
|
if (!onEndCalled && onEnd != null) { |
|
|
|
onEndCalled = true; |
|
|
|
|
|
|
|
return Promise.try(() => { |
|
|
|
return onEnd(); |
|
|
|
}).then((result) => { |
|
|
|
if (result !== undefined) { |
|
|
|
resultBuffer.push(result); |
|
|
|
} |
|
|
|
return Promise.try(() => { |
|
|
|
if (!onEndCalled && onEnd != null) { |
|
|
|
onEndCalled = true; |
|
|
|
|
|
|
|
return Promise.try(() => { |
|
|
|
return onEnd(); |
|
|
|
}).then((result) => { |
|
|
|
if (result !== undefined) { |
|
|
|
resultBuffer.push(result); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
}).then(() => { |
|
|
|
return resultBuffer.maybeRead(() => { |
|
|
|
throw error; |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
return resultBuffer.maybeRead(() => { |
|
|
|
throw error; |
|
|
|
}); |
|
|
|
}).catch((error) => !isAborted(error), (error) => { |
|
|
|
return Promise.try(() => { |
|
|
|