说到接口的请求同步和异步问题,最早接触Ajax中就存在,Ajax传递的参数有一个async,默认情况下是false,也就是异步传输的,如果想阻塞浏览器的线程,将接口请求依次进行的化,需要将async参数设置为true。
到了es6时出现了Promise,这让我们脱离了需要多次回调的情况,到了es7时出现了async-await,那么async-await又有什么神奇之处呢?
Promise
Promise的出现是为了防止前台的进程被冻结,它的出现可以允许多个任务同时进行,也就是所谓的异步操作。
Promise主要用处在以下几点
1. 用于异步处理操作
2. 将异步操作队列化,按照顺序执行操作,并返回相应结果
3. 在对象之间传递和操作promise,帮助处理队列中的操作方法
异步操作的主要用途包括事件的监听和事件的回调。自从前台使用nodejs进入常态化之后,无阻塞的处理高并发成为了重中之重,也就是处理好异步操作。
Promise的一个简单示例
其中resolve返回成功的结果,reject返回失败的结果。
这个简单例子模拟promise的异步操作,2秒钟后返回hello world。
Promise.all() 可以批量执行
返回结果可以看出,两个方法依次异步执行,等全部执行完毕后,一起输出结果,这在实际业务中相当有用!!!
Async-await
那么既然es6中已经有promise了,也相当好用,为什么在es7中又出现了async-await呢?<
vue异步请求和同步的区别
最新推荐文章于 2024-03-13 22:22:45 发布
本文探讨了Vue中接口请求的同步与异步区别,重点介绍了Promise和async-await的使用。Promise用于异步操作,解决回调地狱问题;而async-await是Promise的语法糖,使异步代码看起来更像同步。通过示例展示了如何在VueCLI3项目中利用async-await处理axios的异步请求,以实现请求的同步化。
摘要由CSDN通过智能技术生成