• js es6 promise学习笔记


    测试
    
    <script type="text/javascript">
    
        function runAsync(){
            var p = new Promise(function(resolve, reject){
                //做一些异步操作
                setTimeout(function(){
                    console.log('执行完成');
                    reject('出错了');
                    resolve('随便什么数据');
                }, 1000);
            });
            return p;
        }
        
        runAsync().then(data => {
            setTimeout(function(){
                console.log(data);
            }, 1000);
        }).catch(data => {
            setTimeout(function(){
                console.log(data);
            }, 1000);
        });
        
        //这是对map的操作,跟promise无关,我只是临时在这里做了个测试
        var mapArr = [1, 2, 3, 4].map(x => x*2);
        console.log(mapArr);
    
    </script>

    1.用setTimeout模拟异步耗时

    2.如果reject在resolve之前被调用,那么就会抛出异常;否则走正常流程。

    3.正常走then,异常走catch

    4.有必要解释reject和resolve的作用:reject是往外抛出异常,reject中的参数就是异常信息,会被catch捕获到;resolve是执行成功的意思,resolve中的参数会被传递到then中。

  • 相关阅读:
    1、Elasticsearch教程-从入门到精通
    3、ik分词器
    2、ElasticSearch的安装
    svn操作
    2020-10
    编写第一个linux驱动
    字符设备驱动
    Linux下/dev和/sys/class的区别
    latex
    Qt
  • 原文地址:https://www.cnblogs.com/subendong/p/14610611.html
Copyright © 2020-2023  润新知