Skip to content

Instantly share code, notes, and snippets.

@GriffinHeart
Last active August 29, 2015 14:06
Show Gist options
  • Save GriffinHeart/9886d52125515c2befaf to your computer and use it in GitHub Desktop.
Save GriffinHeart/9886d52125515c2befaf to your computer and use it in GitHub Desktop.
Promise = require 'bluebird'
methodB = ->
p = new Promise (resolve, reject)->
setTimeout ->
console.log 'doing methodB'
reject Error('failed b')
, 1000
p.error (e)->
console.log 'log error to methodB.log'
e
p
methodC = ->
p = new Promise (resolve, reject)->
setTimeout ->
console.log 'methodC'
reject Error('failed c')
, 1000
p.error (e)->
console.log 'log error to methodC.log'
e
p
methodA = ->
console.log 'doing methodA'
methodB()
.then ->
methodC()
.error (e)->
console.log "error executing methodA #{e}"
Promise.reject e
#methodA = ->
# console.log 'doing methodA'
# methodB()
# .then ->
# methodC()
# .catch MethodBException, (e)->
# console.log "error executing methodB #{e}"
# .catch MethodCException, (e)->
# console.log "error executing methodC #{e}"
methodA()
.then (r)->
console.log "success #{r}"
.error (e)->
console.log "error doing A please alert the client #{e}"
###
doing methodA
doing methodB
log error to methodB.log
error executing methodA Error: failed b
error doing A please alert the client Error: failed b
###
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment