ES6异步编程的解决方案

1.Promise,所谓promise简单来说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个     异步操作)的结果。Promise对象提供了统一的接口,使得控制异步操作更加容易。

 Promise对象代表一个异步操作有三种状态: pending(进行中)、fulfilled(已成功)和rejected(已失败)。
   状态发生改变之后就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型)ES6异步编程的解决方案_第1张图片

ES6异步编程的解决方案_第2张图片 封装的promise解决异步编程,代码如下

ES6异步编程的解决方案_第3张图片

 

ES6异步编程的解决方案_第4张图片 

2.async和generator

async是generator 的语法糖,generator是async的底层实现原理

语法糖简单解释一下:指具有特殊功能的代码,内部封装了一些方法,使得一些复杂代码的编写和用法变得简单

async解决异步编程代码

ES6异步编程的解决方案_第5张图片

generator解决异步编程代码 

 generator方法的标志性是带有*的函数名和yield,每个yield代表一个状态,上一状态结果的入口是下一状态的进口。generator是一个迭代器对象,所以得调用next()方法去输出结果

ES6异步编程的解决方案_第6张图片

 

ES6异步编程的解决方案_第7张图片 

 

你可能感兴趣的:(javascript,es6,jquery)