Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background:
My use-case for
multifetch
was to get around Chrome's 6 connections to the same origin limit.Unfortunately, since most of my sub-queries do fairly heavy database queries, processing each request sequentially was resulting in unacceptable response times compared to creating a separate connection for each query.
So, I added support for routing multiple requests through express concurrently (see README.md additions).
Internally, we use
async.eachLimit
to fire off multiple queries through express at the same time and then queue up the resulting streams which are streamed out to the client sequentially. The next query is only routed through express when the first stream is fully piped out and so on.By default, I made sure that
multifetch
was still processing requests sequentially so as to maintain backwards compatibility.