Promise的工作原理

一、什么是Promise

  (一)Promise是ES6新增的解决异步(非阻塞)中存在的问题而产生的构造函数

二、Promise中的三种状态

  pending(进行中)  resoved(成功后)  rejected(失败后)

三、Promise.prototype.then : 当promise的状态返回resove时,则调用then()方法

  Promise.prototype.catch :当promise的状态返回reject时,则调用catch()方法

四、构建promise的格式

  new Promise(function(resolve,reject){

    处理语句;

    if(成功){

      resolve();

    }else{

      reject();

    }

  }).then(function(){

    执行语句;

  }).catch(function(){

    执行语句;

  })

五、promise的静态方法:Promise.all()

  在all中会调用多个promise对象,当被调用的所有promise都返回resolve时,all方法返回resolve(),只要被调用的所有promise中有一个返回reject时,all方法返回reject

六、jsonP的原理

  跨域原理 :

    1、通过动态创建script标签  添加到body中

    2、设置script标签的src值为一个接口路径

    3、接口上带一个参数,表示回调函数,通过这个回调函数可以获取服务器数据

  jsonp接口和ajax接口区别 : 

    jsonp接口:

      1、接口上必须携带一个参数  表示回调函数   

      2、访问jsonp的接口得到的数据是  object 类型  使用时不需要进行类型转换

posted @ 2019-03-11 22:02  元哥0317  阅读(757)  评论(0编辑  收藏  举报