Чистые асинхронные задачи в Javascript

Сочетание функторов Ramda и Folktale

_fetchLists это функция, которая выполняет асинхронную операцию, она принимает следующие аргументы:

  1. fetchAlllists: асинхронная функция, которая разрешается с помощью функтора Result массива объектов списка
  2. listIds: массив listIds

    Это returns Функтор результата массива объектов списка

    • Является _fetchLists считается чистой функцией?
    • fetchAlllists реализован так, чтобы возвращать обещание, которое разрешается с Результатом, есть ли польза от использования Функтора задач вместо обычного обещания?
const _fetchLists = R.curry(
  async(fetchAllLists, listIds) => {
    const lists = await fetchAllLists();

    return R.map(
      R.compose(
        R.values,
        R.pick(listIds),
        R.indexBy(R.prop('id'))
      ),
      lists
    );
  }
);

0 ответов

Другие вопросы по тегам