必威体育Betway必威体育官网
当前位置:首页 > IT技术

ECMAScript6中的promise用法

时间:2019-10-14 16:43:27来源:IT技术作者:seo实验室小编阅读:72次「手机版」
 

promise的用法

promise用法

<script>
    /**
     * promise对象
     * promise对象  代表着未来发生的事情  
     * 这个里面  我们主要在强调一下 异步的操作
     * 因为promise对象  一般都是异步的处理方式
     * aysnc   false  同步的  true  异步的
     * 同步  锁死的浏览器   其实并不是锁死的   只是浏览器陷入到一个阻塞的状态
     * 我们要是选择使用装填   一般都会使用异步的
     * promise可以将我们的异步操作  使用同步的方式表达出来
     * 避免层层嵌套   回调地狱
     * 在我们的es6中  promise其实是一个构造方法   返回值是一个promise对象
     * 
     * 作用  :
     *      可以处理一些超时操作
     *      使用promise经常会处理一些个ajax操作
     * 
     * 三种状态 : 
     *      初始化状态  pending
     *      成功状态  fullfilled
     *      失败状态  rejected
     * 
     */
    

    //  console.log(123);
    //  settimeout(()=>console.log('hello'),1000);
    //  console.log(456)
    //创建一个promise对象的结构是什么


    // let promise = new Promise((resolve,reject)=>{
    //     //初始化的一些数据

    //     //判断执行状态
    //     if (执行成功)
    //     {
    //         resolve(value);
    //     }
    //     else
    //     {
    //         reject(value);
    //     }
    // });

    //以上的一系列操作完成了   那么对我们的程序会有什么影响呢
    //一点影响都没有   只是实例化了一个对象
    //如果说  我们使用的时候   如何使用
    //需要使用到promise对象中的then
    //then方法其实就是我们的执行过程
    // promise.then(function(){

    // }).then()


    let promise = new Promise((resolve,reject)=>{
        console.log('开始了');

        //主要是进行判断  判断如果成功  使用的resolve方法
        //如果要是失败了  使用的reject方法
        // setTimeout(()=>{
            // console.log('我才是主角');
            // resolve('我才是data,主角');
            // reject("我不行了");
        // },3000);
        let num = 2;
        if (num > 3)
        {
            resolve('num变量是大于三的,所以说判断为true,在then方法中会调用data');
        }
        else
        {
            reject('num变量是不大于三的,所以说判断为false,在then方法中会调用ERROR')
        }
        
    });


    //在使用then方法的时候
    //如果说  在promise对象中  触发的resolve方法  那么在then方法中调用的是data
    //但是  如果说在promise对象中  触发的是reject方法  那么在then方法中调用的就是error
    promise.then((data)=>{
        console.log(data);
        console.log('OK');
    },(error)=>{
        console.log(error);
        console.log('失败了');
    });


    console.log("结束了");
</script>

相关阅读

将字符串中的rgb颜色转换为16进制

有一个项目需要和原生对接,而原生的颜色无法识别rgb,因此出现了这个转换需求。 细分析,这个需求需要: 1. 提取出rgb颜色 ;  2. 转换r

Excel 2016 打开后空白的解决方法

最近使用Excel 2016时遇到一个这样的状况,就是双击打开一个有内容的xlsx表格后显示空白,用管理员身份打开也是一样,这里总结一下解决

影驰GTX 1660 Ti金属大师显卡拆解+评测 影驰GTX 1660

影驰昨天发布了其全新的显卡系列&mdash;&mdash;金属大师,产品线涵盖了GeForce GTX 1660/GeForce GTX 1660 Ti,GeForce RTX 2060/GeF

做微信淘宝客怎么加人的36种方法

做微信淘宝客怎样加人?小编整理了做淘宝客36种常用微信加人方法,这些是小编花了点时间一点点整理出来的,希望能够帮到正在做微信淘

北大法宝网V6爬虫分析

本篇主要分析网站爬虫思路,仅供个人研究分析使用。 (虽然上个月实训老师刚讲过Java的爬虫过程,但当时对爬虫只有一知半解,实在惭愧。

分享到:

栏目导航

推荐阅读

热门阅读