Řetězení callbacků rubrika: Programování: Ruby

položil/-a 7.2.2013
Mám několik async operací v EventMachine reactoru a z nich pole Deferred / Promise objektů.
Když chci provést akci až poté co všechny operace skončí, musím v Ruby callbacky vnořit do sebe.
defers[0].callback do defers[1].callback do defers[2].callback do yield end end end
To sice funguje, ale nevypadá to hezky. A co když předem nevím, na kolik async operací mám čekat?
V JS jQuery můžu díky $.when
vytvořit callback, který se provede po dokončení všech async operací.
$.when(defers).done(function() { // do something })
Jde to nějak i v Ruby? Nemůžu použít em-synchrony, kvůli jiným použitým gemům, se kterými mi nefunguje.
Ptám se i na StackOverflow.
Pro plný přístup na Devel.cz se prosím přihlaste:
Nebo se přihlaste jménem a heslem: