Недавно я обнаружил и влюбился в шаблон отложенных/обещаний, используемый в jQuery. Он просто инкапсулирует так много асинхронных вариантов использования, включая замечательную цепочку, способность фильтровать, что я не могу поверить, что пропустил ее так долго.
Я только что закончил рефакторинг кода AS3, чтобы использовать отличную библиотеку CodeCatalyst/prom-as3 (https://github.com/CodeCatalyst/promise-as3), и поэтому начал думать о том, чтобы вернуться к моему С++-коду и увидеть, как я могу реализовать шаблон там.
Прежде чем я начал кодировать это сам, я проверил, было ли это сделано раньше, и обнаружил std::future
/std::promise
(и эквиваленты повышения), но они очень тяжелы (они, похоже, используют реальные потоки и т.д. и иметь синтаксис сильного шаблона).
Итак, мой вопрос: есть ли легкая, чистая реализация на С++ шаблона "Отложенный/обещающий", стиль jQuery?
рефов: