

Handling errors in IcedCoffeeScript - maxtaco
http://maxtaco.github.io/programming/2014/09/18/handling-errors-in-iced-coffee-script/

======
malgorithms
I think the great thing about IcedCoffeeScript + the ESC library is how it
fits into more complicated flow logic, while allowing easy refactoring. Max
doesn't really get into the otherwise impossible examples in his post.

Even if you're firing off RPC's awaiting in the middle of a loop or switch
statement, you can move logic around just by shifting individual lines.
Consider how simple this looks:

    
    
       for user_id in user_ids
          await load_user user_id, esc defer user
          user.whatever()
          # etc., with user
    

Writing that in plain Coffee or JS is impossible; using a pure async library
is sort of possible but impossible to refactor.

