Ловится:
q = require 'q'
co = require 'co'
tryErr = (genError,done) ->
q.Promise (resolve,reject,notify) ->
if genError
throw "GeneratedError"
else
resolve("ok")
.then (ok) ->
q.Promise (resolve,reject,notify) ->
done()
.catch (err) ->
done(err)
.done()
try
tryErr(true,-> console.log "success")
catch err
console.log "catch: " + err
Не ловится:
q = require 'q'
co = require 'co'
tryErr = (genError,done) ->
q.Promise (resolve,reject,notify) ->
if genError
throw "GeneratedError"
else
resolve("ok")
.then (ok) -> q.Promise (resolve,reject,notify) ->
done()
.catch (err) ->
done(err)
.done()
try
tryErr(true,-> console.log "success")
catch err
console.log "catch: " + err
Увы, это требует разбиения на две строки:
.then (ok) -> q.Promise (resolve,reject,notify) ->