Pulls items from source and runs fn on each, bounded by limiter:
exactly limiter.maxConcurrency worker loops each pull-then-process one
item at a time through limiter.run, so at most that many items are ever
pulled/in-flight at once (important for sources like a multipart reader
where pulling an item eagerly opens a file/network handle). Results are
yielded in completion order, not source order. If fn throws, no new
items are pulled but already-in-flight ones are allowed to finish before
the error is rethrown from the returned iterable.
Pulls items from
sourceand runsfnon each, bounded bylimiter: exactlylimiter.maxConcurrencyworker loops each pull-then-process one item at a time throughlimiter.run, so at most that many items are ever pulled/in-flight at once (important for sources like a multipart reader where pulling an item eagerly opens a file/network handle). Results are yielded in completion order, not source order. Iffnthrows, no new items are pulled but already-in-flight ones are allowed to finish before the error is rethrown from the returned iterable.