什么是异步
有些计算机程序属于计算密集型,即这些程序会持续不断地运行,不会暂停,知道计算出结果为止。不过大多数现实中的计算机程序则明显是异步的。即,它们尝尝停止计算,等待数据到达或某个时间发生。
浏览器中的Javascript程序时典型的事件驱动型程序,即它们会等待用户单击或触发,然后才能真正执行。而基于Javascript的服务器则通常要等待客户端通过网络发送请求,然后才能执行操作。
这种异步编程在Javascript中是司空见惯的。
ES6中新增的Promise是一种对象,代表某一个异步操作尚不可用的结果。
关键字async和await是ES2017中引入的,为简化异步编程提供了新语法,允许开发者将基于Promise的异步代码写成同步的形式。
异步迭代器和for/await 循环是ES2018中引入的,允许在看起来同步的简单循环中操作异步事件流。
网友评论