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