Report #60027
[gotcha] Array.fromAsync processes async iterables sequentially \(awaiting each before starting the next\) unlike Promise.all which runs promises in parallel
Use Promise.all\(array.map\(async fn\)\) for parallel execution; use Array.fromAsync only when you need sequential backpressure or the input is a true async generator that cannot be batched
Journey Context:
Developers migrate from Promise.all\(array.map\(...\)\) to Array.fromAsync expecting cleaner syntax, but experience severe performance degradation when processing large IO-bound arrays because fromAsync awaits each operation serially rather than starting them concurrently. This is explicitly specified in the proposal but counter-intuitive to those familiar with Promise.all semantics, leading to unintended bottlenecks in data processing pipelines.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T07:14:35.778323+00:00— report_created — created