zoukankan      html  css  js  c++  java
  • 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中。

  • 相关阅读:
    MVC 学习(二)之Linq to Sql 简单Demo
    MVC 学习(一)Linq to Entities 简单Demo
    MVC学习(三)Code-First Demo
    pickle 模块
    json 模块
    sys 模块
    os 模块
    random(随机)模块
    time 模块
    python之函数基础
  • 原文地址:https://www.cnblogs.com/subendong/p/14610611.html
Copyright © 2011-2022 走看看