promise的基本使用,promis链式调用,promise.all

什么是 promise 

   promise 是ES6 的内置对象,是一种异步解决方案,本质上是一个构造函数

        特点:

        1、promise 有3状态 pending(进行中)resolve(成功) reject(失败)只有异步操作的结果能决定他的状态,其他的任何操作不能改变他的状态

   2、状态变化:pending(进行中)  > resolve(完成)

         pending(进行中) > reject (失败)

  3、调用:then() 方法接收 resolve 的值

       catch() 方法接收 reject 的值

1、基本使用

promise是异步编程的一种非常优秀的解决方案,平常的情况下为了执行异步操作最为常见的就是AJAX异步操作,层层嵌套陷入回调地狱。就算是不层层嵌套,可能也会用到把第一个操作的结果赋值给一个变量,然后第二个异步操作去拿变量的值,但是这样子并太理想,所以promise就完美解决了这一尴尬局面。

上代码:

 

 

 2、promise链式调用:可以避免层层调用,代码逻辑更清晰

  链式调用层级不深,代码简洁,避免层层回调,当下一个请求需要用到上一个请求的返回结果的时候,直接使用 .then().then() 进行链式回调

  

 

   reject  错误处理

   

 

 

  

3、promise.all :并发请求,一次性进行多个异步操作

  

 

   输出结果:

  

 

 

  备注:promiuse.all 执行的顺序根据数组顺序来

      

 

posted @ 2020-04-26 14:58  尼古拉斯-富贵  阅读(724)  评论(0编辑  收藏  举报