async.waterfall变为async/await

夏伊馨 · · 979 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

1. 我的工作主要是pomelo node.js后端主程,因为之前经常用async.waterfall 这个第三方async库,并且这个库也很好用,就是代码有些多,后来换工作了公司用了新框架。

2. 开始大量使用async/await来开发, 或者用promise或者其他的东西,主要目的就是为了解决低于地狱回调的问题。

3. 使用async/await的过程中发现一个问题,因为服务器端开发,所以对错误是很敏感的,并不允许有错误,而不去管它,当时能想到的方案有两个。

其一:对用到  await的地方用try catch


方法一

其二是:


方法二

如果有多个await的话,每个都用try catch那样体验很不好,所以我经常在项目中用到的就是方法二,但是方法二也不是很好。

然后我在网上找了找,还有一种方法,就是参考了golang 的写法。自己写一个函数 to.js


to.js


方法三

这样就完美地解决了async/await错误的问题,很好的一个方法,明白一个东西很容易,要写出来还是需要点时间的。

当然后 npm上有 await-to-js 这个,那么只需要 npm i await-to-js --save即可了,这个包的代码很简单,和我上面to.js里的内容是一样的.


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:夏伊馨

查看原文:async.waterfall变为async/await

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

979 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传