JS异步promise和async await以及回调函数的取舍

目前js实现异步主要有三种方式(web worker不在其中):

  1. callback回调函数;比如settimerout,是通过浏览器内部非JS代码实现的,
  2. promise是新型方式,不过建议尽量使用第三种语法。
  3. async 和await本质上是promise,但是区别在于可以控制执行顺序同时实现了异步,一般只使用这种。因为异步的本质是:不阻止(non-blocking)后面代码的执行;人的思考方式还是步骤形式(绝大多数情况会忽略部分操作正在异步操作并没有完成),在单纯使用promise的有时候会造成依赖无法满足的情况(还没有得到异步结果)。虽然async 和await需要包裹一层略微麻烦。

总结而言,除非是将现有的代码转化成异步的,否则都是用async await来编写代码。

posted @ 2022-01-17 20:14  盒内有盖请小心打开  阅读(78)  评论(0)    收藏  举报