本文主要是介绍await-to-js,promise错误拦截,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天介绍一个 npm 包 —— await-to-js。它可以有效地帮助我们写出健壮的异步逻辑,降低异步编写成本。
众所周知,Promise 是 es6 当中一个非常方便的流程控制对象,大大简化了异步逻辑的编写。我们可以使用await来让异步代码像同步代码一样写
const r1 = await doAsync1();
const r2 = await doAsync2(r1.xxx);
const r3 = await doAsync3(r2.xxx);
const r4 = await doAsync4(r3.xxx);
async&await
将异步的逻辑用近似同步的语法表达了出来,连回调都消失了,更加清晰易读,这是件很棒的事情。
异常处理
但随之又出现了一个问题,错误怎么处理,难道让它粗鲁地抛出去就不管了?如果你想要让你的程序更加健壮、鲁棒,错误处理必不可少。await
的语法同样需要使用 catch
来捕获错误。例如:
const r4 = await doAsync4(r3.xxx).catch((err)=>{//dosomething
})
新思路
这并没啥问题,在后面写下catch,但是能否吧catch写到r4这里,因为总写在函数后面新增一个会掉函数,感觉不大符合日常习惯,并且容易遗漏
让他暴露出来,我们处理不处理都行呢,这就是await-to-js的作用了,下面代码err1就是异常信息
import to from 'await-to-js';
const [err1, r1] = await to(doAsync1());
总结
await-to-js带来的是代码风格更加舒适,并没有任何代码优化,或者其他优化点
异步等待封装器,便于错误处理,不需要
try-catch
。
以上就是它的唯一用处
这篇关于await-to-js,promise错误拦截的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!