Concurrency
Promise.allSettled: 成功と失敗を両方観測する
allSettledは一つが失敗しても全Promiseの結果を配列で返します。
SourcepromiseAllSettled.ts
Node.js 22
export const observeAllSettled = async () =>
Promise.allSettled([Promise.resolve('ready'), Promise.reject(new Error('failed'))]);TestpromiseAllSettled.test.ts
Node.js 22
import assert from 'node:assert/strict';
import test from 'node:test';
import { observeAllSettled } from '../../src/async/promiseAllSettled.js';
test('Promise.allSettled は成功と失敗を結果配列として両方返す', async () => {
const results = await observeAllSettled();
assert.equal(results[0]?.status, 'fulfilled');
assert.equal(results[1]?.status, 'rejected');
});01Assertion
このテストで確認できること
- 成功はfulfilledとして残る
- 失敗はrejectedとして残る
複数処理の完了結果をまとめて監査したい場合にallSettledを使います。
OBSERVED RESULT
fulfilled, rejected