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

3 zakjan
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.

odkaz
3 zakjan
odpověděl/-a 13.2.2013

Vyřešeno - EM::MultiRequest

Pro plný přístup na Devel.cz se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.