zoukankan      html  css  js  c++  java
  • Promise对象

    1、回调函数噩梦
    2、Promise对象
    3、同源策略
    4、跨域访问之JSONP
    5、跨域访问之CORS
    6、跨域访问之代理
    回调函数噩梦,也被称为恶魔金字塔,指如ajax依赖调用时,回调函数会层层嵌套,
    而这种层层嵌套的写法,往往会让人难以理解,所以称之为噩梦。

    Promise是一种思维方式,是一种解决回调函数噩梦的解决方案。
    Promise对象代表一个异步操作,有三种状态:
    Pending(进行中)
    Resolved(已完成,又称Fulfilled)
    Rejected(已失败)
    可以把Promise看成是状态机,当该Promise对象创建出来之后,其状态就是进行中,
    然后通过程序来控制到底是执行已完成,还是执行已失败。因为Promise处理的是异步任务,
    所以我们还得对Promise做监听,当Promise的状态发生变化时,我们要执行相应的函数。

    Promise语法:
    var promise =new Promise(()=>{
    function(resolve,reject){
    //通常这里写一个异步任务,在这个异步任务中,通过resolve
    //或reject来改变promise的状态。
    resolve("数据");//resolve指将状态更改为已完成,reject指将状态
    //更改为已失败。
    }
    });
    //then 实际上是对promise的状态监听,当状态为已完成时,触发第一个参数函数。
    //当状态为已失败时,触发第二个参数函数(第二个可以写也可以不写),每一个函数
    //中的参数,指当初状态改变时,所保存的数据。
    promise.then(function(str){},function(err){});
    promise.all():
    每一个promise都执行后,再去执行then。
    语法:
    Promise.all([promise1,promise2,...]);
    promise.race:
    只要有一个promise执行后,就会去执行then。
    语法:
    Primise.race([prosmise1,promise2,...]).then(function(result){};

  • 相关阅读:
    @font-face
    闭包
    DOM事件
    DOM属性
    使用谷歌chrome浏览器查看任何标签的固有属性
    chmod命令
    C++笔记之零碎点
    C++学习之 —— 输入输出
    常见素数筛选方法原理和Python实现
    Django的MVT模型
  • 原文地址:https://www.cnblogs.com/l8l8/p/8962725.html
Copyright © 2011-2022 走看看