前端开发:解决异步回调必备技能——Async/Await和Promise

前端开发:解决异步回调必备技能——Async/Await和Promise_第1张图片

做过前端开发的开发者应该都知道JavaScript是单线程语言,浏览器只分配给JS一个主线程,用来执行任务,但是每次一次只能执行一个任务,这些任务形成一个任务队列排队等候执行;但是某些任务是比较耗时的,如网络请求,事件的监听,以及定时器,如果让这些非常耗时的任务一一排队等候执行,那么程序执行效率会非常的低,甚至会导致页面假死。因此,浏览器为这些耗时的任务开辟了新的线程,主要包括http请求线程、浏览器事件触发线程、浏览器定时触发器,但是这些任务都是异步的,这就涉及到了前端开发的异步回调操作处理。

本文开始先通过介绍Promise和Async/Await的介绍和详细用法,然后再根据实战中的注意事项,方便大家理解和使用。

一、Async/Await出现的原因

在ES7之前,了解到Promise是ES6为了解决异步回调而产生的解决方案,避免出现回调地狱(Callback Hell),那么ES7为什么又提出了新的Async/Await标准?

问题答案就是:Promise虽然解决了异步嵌套的怪圈,使用表达清晰的链式表达;但是如果在实际开发过程中有些地方有大

你可能感兴趣的:(Vue项目开发,javascript,vue.js)