文章有彩蛋,这篇文章由于需要使用promise对象的异步编程,自己懒得搞服务器,就去找了两个数据接口来学习,给关注我的朋友来一波福利,两个免费的api接口,亲测可以使用。
看这篇文章默认会JSONP,和JQuery。不会的话,看我之前的文章。
介绍了原生JSONP的实现和JQ的JSONP的实现。
1、箭头函数
什么是箭头函数?
其实很简单,刚开始以为多难,就是function去掉,然后在()后面加箭头就行。
实例中还说了两种情况
第一种情况:如果需要写的函数只有一个参数,就可以省略();
第二种情况:如果函数里面只有一个return就可以省略{}和return
补漏:箭头函数的特性
1、函数体内的this值,绑定在定义时函数所在的作用域的this。
2、不可以当作构造函数
3、没有arguments对象
2、promise对象,这个才是我们今天的主演。
第一种:直接使用promise进行异步请求,
promise有三种状态
①pending:等待中,或者进行中。还没有返回结果
②resolved:已经完成,得到结果,可以继续执行。
③rejected:表示得到结果,但是结果不是我们想要的,所以拒绝执行。
promise对象接收两个函数作为参数。分别是resolve和reject,就是用来改变状态的。
then的话,是在得到②③两种状态之后执行的步骤。里面有两个函数,第一个执行②完成的,第二个执行③完成的。然后then接收一个数组,数组里面包含我们请求的数据。
第二种:就是为什么我们需要使用promise了?
很多时候自己在自己的平台实现请求数据之后才能操作,执行下一步请求数据。也就形成了很多回调函数嵌套,俗称:回调地狱。
既然问题来了,就肯定有方法解决是吧!当然站在巨人的肩膀上才能成长的更快,看得更远。有点扯了,哈哈。
那解决的方法是什么呢?
哦,原来promise还提供一个all方法。下面就看一下all方法怎么是使用。
接收一个数组,里面是promise对象。然后then的话,还是接收一个数组,通过数组解构赋值就可以得到我们想要的数据啦!!!
其实promise对象还有其他方法,比如race。这里只是记录,有兴趣的朋友自己搜索一下。
喜欢的朋友们点个赞