Art*_*ary 3 javascript node.js async-await ecmascript-2016
我正在使用这个库在我的 nodejs 应用程序中链接异步函数:https : //github.com/yortus/asyncawait
var chain = async(function(){
var foo = await(bar());
var foo2 = await(bar2());
var foo3 = await(bar2());
}
Run Code Online (Sandbox Code Playgroud)
所以 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());
}
Run Code Online (Sandbox Code Playgroud)
处理这个问题的最佳方法是什么?
目前我在 bar 内抛出异常并以如下方式处理异常:
chain().catch(function (err) { //handler, ie log message)
Run Code Online (Sandbox Code Playgroud)
它正在工作,但看起来不对
我的意思是这样的……
asyncawait完全支持这种语法。只是return从功能:
var chain = async(function(){
var foo = await(bar());
if (!foo) return;
var foo2 = await(bar2());
var foo3 = await(bar2());
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3323 次 |
| 最近记录: |