JS异步promise和async await以及回调函数的取舍
目前js实现异步主要有三种方式(web worker不在其中):
- callback回调函数;比如settimerout,是通过浏览器内部非JS代码实现的,
- promise是新型方式,不过建议尽量使用第三种语法。
- async 和await本质上是promise,但是区别在于可以控制执行顺序同时实现了异步,一般只使用这种。因为异步的本质是:不阻止(non-blocking)后面代码的执行;人的思考方式还是步骤形式(绝大多数情况会忽略部分操作正在异步操作并没有完成),在单纯使用promise的有时候会造成依赖无法满足的情况(还没有得到异步结果)。虽然async 和await需要包裹一层略微麻烦。
总结而言,除非是将现有的代码转化成异步的,否则都是用async await来编写代码。
本文来自博客园,作者:盒内有盖请小心打开,转载请注明原文链接:https://www.cnblogs.com/capinbox/p/15815159.html
English, https://dev.yiyideer.com/

浙公网安备 33010602011771号