微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Promise 对象---异步调用

这里先主要讲解下 promise对象用于图片加载异步操作,具体深入 后续还会更新

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <script>
        // promise是什么?
        // 1、主要用于异步计算
        // 2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
        // 3、可以在对象之间传递和操作promise,帮助我们处理队列

        //图片预加载就属于 异步的回调  promise就是解决回调地狱的

        //创建promise 对象,
        //promise对象中传递一个回调函数,其中函数有两个参数回调函数,resolve 成功函数,reject 失败函数
        new Promise(function(resolve,reject){

            var img=new Image();
            img.src="./image/icon/8.gif";
            //img对象创建加载函数,如果成功了  执行resolve 函数 并且把this 当前的img对象传递进去
            //后期then函数需要调用
            img.onload=function(){
                resolve(this);
            }
            //此函数表示 img图像加载失败 会调用reject函数 ,并且给reject函数传递一个参数 表示出错了
            img.onerror=function(){
                reject("图片加载出错了");
            }
            //promise对象不能直接执行,需要使用then函数来执行
            //其中then函数中也包含两个 回调函数,
            //第一个成功后 需要调用函数,其中函数的参数为resolve 成功函数 传入的参数 this
            //第二个失败后 需要调用函数,其中函数的参数为reject 失败函数 出入的参数 “图片加载失败”
                                        
        }).then(function(data){
            console.log(data);
        },function(error){
            console.log(error);
        });




        
    </script>

</body>
</html>

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐