Ловится:

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) ->
[ ]
 

P.S. Присылайте криптовалюту если вам нравится то, что я делаю.
Если не нравится - тоже присылайте.
LTC (Litecoin): LLN6X2uV1iuQ1e4tdmQZsf2RRwh4pxPSej

Leave a Reply

*