Имам функция, която връща резултата си чрез функция за обратно извикване. Почти като множество библиотеки с http-заявки.
Много пъти трябва да извикам тази функция няколко пъти, за да получа различни данни.
(get-data "key-a" (fn [res-a]
(get-data "key-b" (fn [res-b]
(get-data "key-c" (fn [res-c]
(do-something res-a res-b res-c)))))))
Опитвам се да създам функция, която прави горното да работи по следния начин:
(get-multi-data ["key-a" "key-b" "key-c"]
do-something)
Трябва да получа исканите данни във вектора и да предам резултатите на обратното извикване. Въпрос 1: Как може да изглежда функция като тази?
Въпрос 2: Възможно ли е чрез използване на core.async да се направи функция, която просто да връща данните? И да скрия напълно обратните повиквания?
(let [res (get-multi-data ["key-a" "key-b" "key-c"])]
(do-something res))
manifold
за това. Има CLJS порт - person akond   schedule 01.03.2018