js异步函数转成异步执行是不可能的,但是我们可以用同步或类似同步的方式来写异步函数;鉴于不同的ES版本会有不同的写法,下面一一说
工具/原料
js
ajax
方法/步骤
1、js异步操作最常见的剑钕饿粪场景就是ajax方式请求后台的时候,我们就以ajax请求为例。ajax最”原始“的写法芟坳葩津,就是异步回调函数的写法,多个有先后关系的ajax请求很容易产生”死亡回调“,讨论的题目中明确说明了要用”同步“的方式,这里就不讨论这个最”原始“的方法了
2、ES6标准中给js引入了Promise对象,可以让我们以类似同步的方式写本来是异步的代码,这样的写法笔者曾用过很长一段时间,体会是还可以,比之前的回调写法好一些,如果要深入了解Promise,可以自行百度。具体用法如下图:
3、再就是ES7标准中引入的async/await了,你可以简单的把它们理解为Pr艺皱麾酪omise的封装,它们可以让异步代洁船诼抨码的写法更接近同步的写法,不过也有不足之处,比如对异常的处理不如Promise方便,但也可以通过trycatch的方式处理,或者实际项目的通用处理错误方式处理。具体用法如下图:
4、还有一种是generate函数的方式,个人觉得用法比较复杂,代码写起来也不简介,这里不做推荐