Итак, для функции, которая получает один отложенный элемент, эта функция listBind возвращает новую функцию, которая принимает массив значений и использует их для возврата другого списка значений внутри отложенного элемента.

овленэто (превосходно) обсуждение использования Promises в javascript, я пытаюсь выяснить, как я мог бы использовать Deferred для объединения вместе асинхронных и неасинхронных функций, чтобы избежать уплаты налога на обратный вызов при использовании моегоГлобальное хранилищеКод.

У меня есть несколько вопросов, связанных с этим, но я задам их вместе здесь, потому что контекст тот же.

Одной вещью, которую я не могу понять, является то, как я могу сделать отложенное из чего-то, что не является асинхронным - то есть, как я могу взять значение, обернуть его в обещание и вернуть его напрямую? (a -> M<a>)

Кроме того, как я могу взять асинхронную функцию и обернуть ее так, чтобы она возвращала свой результат напрямую, но была заключена в обещание? ((a -> b) -> (a -> M<b>))

Последний вопрос для монадических уродов - есть ли стандартное название для этой функции?[a] -> (a -> M<b>) -> M<[b]>