养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

js异步函数如何转换成同步执行

时间:2024-10-14 14:17:24

js异步函数转成异步执行是不可能的,但是我们可以用同步或类似同步的方式来写异步函数;鉴于不同的ES版本会有不同的写法,下面一一说

工具/原料

js

ajax

方法/步骤

1、js异步操作最常见的剑钕饿粪场景就是ajax方式请求后台的时候,我们就以ajax请求为例。ajax最”原始“的写法芟坳葩津,就是异步回调函数的写法,多个有先后关系的ajax请求很容易产生”死亡回调“,讨论的题目中明确说明了要用”同步“的方式,这里就不讨论这个最”原始“的方法了

2、ES6标准中给js引入了Promise对象,可以让我们以类似同步的方式写本来是异步的代码,这样的写法笔者曾用过很长一段时间,体会是还可以,比之前的回调写法好一些,如果要深入了解Promise,可以自行百度。具体用法如下图:

js异步函数如何转换成同步执行

3、再就是ES7标准中引入的async/await了,你可以简单的把它们理解为Pr艺皱麾酪omise的封装,它们可以让异步代洁船诼抨码的写法更接近同步的写法,不过也有不足之处,比如对异常的处理不如Promise方便,但也可以通过trycatch的方式处理,或者实际项目的通用处理错误方式处理。具体用法如下图:

js异步函数如何转换成同步执行

js异步函数如何转换成同步执行

4、还有一种是generate函数的方式,个人觉得用法比较复杂,代码写起来也不简介,这里不做推荐

© 一点知识