我正在使用这个库在我的 nodejs 应用程序中链接异步函数: https ://github.com/yortus/asyncawait
var chain = async(function(){
var foo = await(bar());
var foo2 = await(bar2());
var foo3 = await(bar2());
}
所以 bar3 等待 bar2 完成,而 bar2 等待 bar() 完成。没关系。但是我该怎么做才能阻止异步块进一步执行?我的意思是这样的:
var chain = async(function(){
var foo = await(bar());
if(!foo){return false;} // if bar returned false, quit the async block
var foo2 = await(bar2());
var foo3 = await(bar2());
}
处理这个问题的最佳方法是什么?
目前我在 bar 内抛出异常并以如下方式处理异常:
chain().catch(function (err) { //handler, ie log message)
它正在工作,但看起来不正确