Because browsers throttle the number of parallel requests allowed to each server, this function tracks
the number of active requests in progress to each server, and returns undefined immediately
if the request would exceed the maximum, allowing the caller to retry later,
instead of queueing indefinitely under the browser's control.
Because browsers throttle the number of parallel requests allowed to each server, this function tracks the number of active requests in progress to each server, and returns undefined immediately if the request would exceed the maximum, allowing the caller to retry later, instead of queueing indefinitely under the browser's control.