1.Promise,所谓promise简单来说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个 异步操作)的结果。Promise对象提供了统一的接口,使得控制异步操作更加容易。
Promise对象代表一个异步操作有三种状态: pending(进行中)、fulfilled(已成功)和rejected(已失败)。
状态发生改变之后就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型)
封装的promise解决异步编程,代码如下
2.async和generator
async是generator 的语法糖,generator是async的底层实现原理
语法糖简单解释一下:指具有特殊功能的代码,内部封装了一些方法,使得一些复杂代码的编写和用法变得简单
async解决异步编程代码
generator解决异步编程代码
generator方法的标志性是带有*的函数名和yield,每个yield代表一个状态,上一状态结果的入口是下一状态的进口。generator是一个迭代器对象,所以得调用next()方法去输出结果