Что такое allSettled в Effector

Ответ

allSettled в Effector — это комбинатор, который позволяет запускать несколько эффектов параллельно и дожидаться завершения всех из них (независимо от успешности). Возвращает массив объектов с результатами каждого эффекта.

Пример:

import { allSettled, createEffect } from 'effector';

const fetchUser = createEffect(/*...*/);
const fetchPosts = createEffect(/*...*/);

// Запуск эффектов
const results = await allSettled({
  user: fetchUser,
  posts: fetchPosts
});

// results будет содержать:
// {
//   user: { status: 'done', value: ... } | { status: 'fail', error: ... },
//   posts: { status: 'done', value: ... } | { status: 'fail', error: ... }
// }

Ключевые особенности:

  • Не прерывается при ошибке в одном из эффектов
  • Возвращает объект с результатами всех эффектов
  • Полезен, когда нужно выполнить несколько независимых запросов