Чистые асинхронные задачи в Javascript
Сочетание функторов Ramda и Folktale
_fetchLists
это функция, которая выполняет асинхронную операцию, она принимает следующие аргументы:
fetchAlllists
: асинхронная функция, которая разрешается с помощью функтора Result массива объектов списка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
);
}
);