欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

promise-(1)

程序员文章站 2024-02-22 13:03:52
...

promise对象:不解决异步问题,解决异步写法

  • new Promise(promise的回调函数,在实例化的时候回直接执行function(resolve,reject){

  • resolve(传递给执行成功后触发的函数 的参数): 代表异步执行完成,并成功拿到结果 – 将Promise对象的状态修改为resolve

  • reject(传递给执行失败后触发的函数 的参数) : 代表异步执行完成,但是没有成功拿到结果 --将Promise对象的状态修改为reject
    });

 <script>

         function Person(){
             p1(){
                 console.log(this);
             }
         }
         let pp = new Person();
         pp.p1();


        let p = new Promise(function(resolve,reject){
            console.log(111);
            //  resolve("传参");
            console.log(this); // window
            
       //回调函数执行完
            reject("失败了使用的数据");
        });

        p.then(function(res){
            console.log(this); // window
            console.log(res + "拿到了异步处理的结果");
        },function(rej){
            console.log(rej + "执行结束,但是失败了");
        });

        console.log(p);

promise-(1)
eg2:

<script>
  let p = new Promise(function(resolve,reject){

            let img  = new Image();
            img.src = 'http://img1.imgtn.bdimg.com/it/u=2698695312.jpg';

            //图片加载成功后 触发
            img.onload = function(){
                resolve("图片请求成功");
            }
            //图片加载失败后 触发
            img.onerror = function(){
                reject("图片请求失败");
            }
        }).then((res)=>{
            //请求成功之后,执行的业务处理
            console.log(res);
        },(rej)=>{
            //请求失败之后,执行的业务处理
            console.log(rej);
        });
</script>
相关标签: 同步和异步