Iced coffee script with multiple callbacks

coffeescript, iced-coffeescript

Solution

This is the only way I have found to do it too. I'm using it in Backbone and wrap (for example) a model's @save function with an @icedSave:

# An IcedCoffeescript friendly version of save
icedSave: (callback) ->
    @save {},
        success: (model, response) -> callback(true, model, response)
        error: (model, response) -> callback(false, model, response)

Problem

I'm using Iced coffescript with upshot js when I am refreshing multiple data sources. The refresh method has TWo call backs one for success and one for error and I want to wait for each call to make either callback. I can't see how to do this with idced coffescript without making an additional function. My question is - is there a more elegant way that I can defer to one of multiple callbacks? This is the code I have currently: ``` refreshMe = (key, value, result) => value.refresh( (success)=> result success , (fail, reason, error)=> result undefined, fail ) @refresh = () => success={} fail={} await for key, value of @dataSources refreshMe key, value, defer success[key], fail[key] ```

Original source