ES7异步/ AWAIT使我们的开发人员编写异步JS代码看起来同步。在目前的JS版本中,我们将介绍Promises,这样我们可以简化Async流程并避免回调地狱。
回调地狱是用来描述JS中的以下情况的术语:
function AsyncTask() {
asyncFuncA(function(err, resultA){
if(err) return cb(err);
asyncFuncB(function(err, resultB){
if(err) return cb(err);
asyncFuncC(function(err, resultC){
if(err) return cb(err);
// And so it goes....
});
});
});
}
这造成了难以维护的代码,并使控制流程成为一项艰巨的任务。只要考虑一个if语句,需要执行其他Async方法,如果某些来自callbackA的结果等于'foo'。
承诺救援
凭借承诺和ES6,我们可以简化我们以前的代码噩梦,如下所示:
function asyncTask(cb) {
asyncFuncA.then(AsyncFuncB)
.then(AsyncFuncC)
.then(AsyncFuncD)
.then(data => cb(null, data)
.catch(err <

本文探讨了如何在不使用try-catch块的情况下处理JavaScript中的异步等待错误。通过介绍Promise的救援方法和ES7的async/await语法,文章展示了如何编写更清晰、更易于维护的异步代码。作者分享了一种灵感来自Go语言的解决方案,利用辅助函数来捕获和处理错误,从而保持代码的整洁和可读性。
最低0.47元/天 解锁文章
900

被折叠的 条评论
为什么被折叠?



