import * as Array from "effect/Array" import * as Effect from "effect/Effect" import * as Exit from "effect/Exit" import * as Request from "effect/Request" import * as Resolver from "effect/RequestResolver" class GetNameById extends Request.TaggedClass("GetNameById")<{ readonly id: number }, string> {} const UserResolver = Resolver.make((entries) => Effect.sync(() => { for (const entry of entries) { entry.completeUnsafe(Exit.succeed(`User ${entry.request.id}`)) } }) ) const effect = Effect.forEach( Array.range(1, 100_000), (id) => Effect.request(new GetNameById({ id }), UserResolver), { concurrency: "unbounded" } ) Effect.runFork(effect)