【发布时间】:2012-05-20 00:21:50
【问题描述】:
我对 tamejs 非常满意,它使我的 javascript 代码更加清晰。但是我还是觉得错误处理有点无聊。
查看代码:
// callback should be callback(err, nextInt)
function inc(n, callback) {
setTimeout(function() {
callback(null, n+1);
}, 100);
}
await { inc(3, defer(var err, next));}
if(err) throw new Error(err); // !!! error handling
await { inc(8, defer(var err, next));}
if(err) throw new Error(err); // !!! error handling
await { inc(12, defer(var err, next));}
if(err) throw new Error(err); // !!! error handling
await { inc(39, defer(var err, next));}
if(err) throw new Error(err); // !!! error handling
由于几乎每个异步 api 都有回调,其第一个参数是 error,我们需要先获取它并检查它。
可以看到示例中有很多错误处理行,很无聊。
有什么办法可以简化吗?
【问题讨论】:
-
仅供参考,您不需要在单个语句
await块周围使用{}。
标签: javascript node.js asynchronous tamejs