Здравствуйте, Ikemefula, Вы писали:
I>Частота зависит от программиста. Скажем если работа с асинхронщиной, то совершенно не ясно, почему это должно возникать редко
Наоборот, очень часто — есть коллекция А, есть коллекция Б, их надо смержить. Но вот фокус, они приходят в промисах.
I>и получается вот такое
I>var result = merge(getA(),getB());
I>парадокс — по этому коду нельзя сказать, какой он, синхронный или асинхронный, если не смотреть использование или не глянуть внутрь. Есть один большой минус — брейкпоинты некуда статить.
I>P.S. Я уже знаю, что это называется "лифтинг".
Кстати говоря лифтинг — это как бы совсем функциональный стиль. Т.е. мы преобразуем функцию в функцию (например складывающую числа в складывающую числа в списках). Но есть и промежуточный вариант — использовать что-то типа fmap (а для коллекций будет просто map). Т.е. можно спокойно использовать обычные функции на списках (или на промисах) и при этом обходиться без монад. Просто код будет выглядеть как apply(A, B, merge).