StratifiedJS allows you to write callback-less async code, including full support for exceptions thrown from async code (stacktraces and all):
http://onilabs.com/stratifiedjs (disclosure: I work at Oni Labs)
It does extend JS with some additional syntax as well (new concurrency constructs as well as some syntactic sugar), but it doesn't alter existing JS syntax.