API reference › @evolu/common › Task › allSettled
Call Signature
function allSettled<T>(
tasks: T,
options?: CollectOptions<true>,
): Task<
{
[K in string | number | symbol]: Result<
InferTaskOk<T[K]>,
AbortError | InferTaskErr<T[K]>
>;
},
never,
InferTaskDeps<T[number]>
>;
Defined in: packages/common/src/Task.ts:3151
Completes all Tasks regardless of individual failures.
Like Promise.allSettled, all Tasks run to completion regardless of individual failures. Returns an array of Results preserving the original order.
Sequential by default. Use concurrently for concurrent execution.
Example
const results = await run(allSettled([fetchUser, fetchPosts, fetchComments]));
if (!results.ok) return results; // Only AbortError
for (const result of results.value) {
if (result.ok) {
console.log("Success:", result.value);
} else {
console.log("Failed:", result.error);
}
}
See
Call Signature
function allSettled<T>(
tasks: T,
options?: CollectOptions<true>,
): Task<
{
[P in string | number | symbol]: Result<
InferTaskOk<T[P]>,
AbortError | InferTaskErr<T[P]>
>;
},
never,
[keyof T] extends [never] ? unknown : InferTaskDeps<T[keyof T]>
>;
Defined in: packages/common/src/Task.ts:3175
Returns object with same keys.
const results = await run(allSettled({ user: fetchUser, posts: fetchPosts }));
if (!results.ok) return results;
const { user, posts } = results.value; // Each is Result<T, E>
Call Signature
function allSettled<T, E, D>(
tasks: Iterable<Task<T, E, D>>,
options?: CollectOptions<true>,
): Task<readonly Result<T, AbortError | E>[], never, D>;
Defined in: packages/common/src/Task.ts:3196
For dynamic or generated task lists.
const urls: ReadonlyArray<string> = getUrls();
const results = await run(allSettled(tasks));
if (!results.ok) return results;
// results.value: ReadonlyArray<Result<Response, FetchError | AbortError>>
Call Signature
function allSettled<T, E, D>(
tasks: readonly [Task<T, E, D>, Task<T, E, D>],
options?: CollectOptions<true>,
): Task<
readonly [Result<T, AbortError | E>, Result<T, AbortError | E>],
never,
D
>;
Defined in: packages/common/src/Task.ts:3214
Guarantees non-empty result.
const tasks: NonEmptyReadonlyArray<Task<Response, FetchError>> = [
fetchUrl("/a"),
fetchUrl("/b"),
];
const results = await run(allSettled(tasks));
if (!results.ok) return results;
// results.value: NonEmptyReadonlyArray<Result<Response, FetchError | AbortError>>
Call Signature
function allSettled<T, E, D>(
tasks:
| Iterable<Task<T, E, D>, any, any>
| Readonly<Record<string, Task<T, E, D>>>,
options: CollectOptions<false>,
): Task<void, never, D>;
Defined in: packages/common/src/Task.ts:3227
Run for side effects only.
const result = await run(allSettled(tasks, { collect: false }));
// result.value: void