异步编程理解综述

本文介绍了异步编程的发展过程,从最初的回调函数解决异步问题,到Promise的出现改进回调地狱,再到Generator引入协程概念简化异步代码,最后探讨了ES7中async/await语法糖如何进一步简化异步编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异步编程
generator自动执行问题
ES7的async/await

异步编程总概述

1.异步就是为了防止阻塞、在执行时间长其他进程执行的任务的时候,交出主线程的执行权利,然后再在异步耗时操作完成后将回调函数放入js引擎执行队列中等待执行。
Promise就是为了解决这个问题而提出的。它不是新的语法功能,而是一种新的写法,允许将回调函数的横向加载,改成纵向加载。 在其他线程中执行,使用辅助线程监听然后回传。
2.再往后,就有了协程概念。这个就类似多线程了,只是每个阶段只执行了一个线程。
而到了generator就变成了协程的理念。
协程A开始执行。
协程A执行到一半,进入暂停,执行权转移到协程B。
next后,协程B交还执行权。
协程A恢复执行。
整体异步编程的逻辑就是:
callback回调 -> promise -> generator、yield、next -> generator自执行(promise、thunk)-> async/await(只是语法糖)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值