欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

promise的理解

程序员文章站 2023-12-21 21:25:52
...

promise的理解和应用

首先我们需要知道啥叫promise,这个东西是 异步操作的同步代码(but有兼容问题).
  
下面我来说说我自己对他的理解:

1.它是一个构造函数,使用的时候需要用new实例化

2.他有一个参数,这个参数是一个回调函数,这个回调函数里面又有两个参数,第一个为resolve 第二个为 reject (这里先放一下,我们来上一段代码要不然太抽象了)

new Promise(function(resolve,reject) {
             resolve()
       }).then(function(){},function(){})

注释:当回调函数里面调用resolve()时,.then会调用第一个函数;当回调函数里面调用reject()时,.then会调用第二个函数
也可以如下面这样写

new Promise(function(resolve,reject) {
               resolve()
          }).then(function(){}).cath(function(){}) 

注释:这种写法,当回调函数里面调用resolve()时,.then会执行;当回调函数里面调用reject()时,.catch会执行
大佬们可能发现了,那我的resolve和reject是形参啊,可不可以用别的名字,当然可以的啦,不过要注意和回调函数内部的调用名字统一起来
  
   3.Promise.all(arr).then(function(){}) arr为数组
Now,我们来说一说Promise的非常有用的方法之一 all方法,这个方法作用:当all里面数组里的所有异步操作都执行完毕后再去执行.then();
  
  4.Promise.race(arr).then(function(){}) arr为数组
接下来我们来说一说Promise的另一个方法 race方法,这个方法作用:当race里面数组里的异步操作只要有一个执行完毕后就会去执行.then();

5.我自己体会的作用
    Promise作用:
1.解决回调地狱
2.将Ajax获取来的数据和业务逻辑分开
3.Promise.all()方法可以解决多个Ajax传回的信息再次组合进行查询

相关标签: es6 es6/es7

上一篇:

下一篇: