本文介绍: `async` 和 `await` 可以说是异步终极解决方案了,相比直接使用 `Promise` 来说,优势在于处理 `then` 的调用链,能够更清晰准确的写出代码,毕竟写一大堆 `then` 也很恶心,并且也能优雅地解决回调地狱问题。当然也存在一些缺点,因为 `await` 将异步代码改造成了同步代码,如果多个异步代码没有依赖性却使用了 `await` 会导致性能上的降低。
JS 异步编程
并发(concurrency)和并行(parallelism)区别
这两个名词确实是很多人都常会混淆的知识点。其实混淆的原因可能只是两个名词在中文上的相似,在英文上来说完全是不同的单词。
并发是宏观概念,我分别有任务 A 和任务 B,在一段时间内通过任务间的切换完成了这两个任务,这种情况就可以称之为并发。
并行是微观概念,假设 CPU 中存在两个核心,那么我就可以同时完成任务 A、B。同时完成多个任务的情况就可以称之为并行。
回调函数(Callback)
回调函数应该是大家经常使用到的,以下代码就是一个回调函数的例子:
但是回调函数有一个致命的弱点,就是容易写出回调地狱(Callback hell)。假设多个请求存在依赖性,你可能就会写出如下代码:
Generator
Promise
async 及 await
常用定时器函数
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。