同步和异步、promise、宏任务和微任务

JavaScript异步编程:Promise、async/await与宏任务微任务解析
JavaScript是一种异步开发语言,为解决回调地狱问题引入了Promise对象,其拥有四个关键方法。async/await使得异步操作更简洁,返回Promise并控制流程。异步执行涉及宏任务和微任务,如setTimeout为宏任务,Promise.then属于微任务,同步任务完成后先执行微任务队列,再开启新的宏任务。

js 是一个异步开发语言
异步 不再等待完成后执行后面,而是继续下向执行

由回调地狱引出promise对象

var p=new Promise(function(resolve,reject){
            // resolve和reject这两个参数都是回调函数  //resolve和reject只能传一个参数
            var img=new Image();
            img.src="./img/1-.jpg";
            img.onload=function(){
                resolve();//resolve只会执行then中的第一个函数
            }
            img.onerror=function(){
                reject();
                // 当执行reject时,会执行后面的then当中第二个函数,如果有catch(),
                // 则会执行catch方法中的函数
                // 如果既有then中第二个函数也有catch,则完成then中第二个函数,catch不执行
            }
        });

 loadImage("./img/2-.jpg").then(function(){
        console.log("aaa");
        // 如果没有返回promise 则会创建一个新的Promise返回
        // return new Promise(function(resolve,reject){
        //     resolve();
        // })
    }).then(function(){
        console.log("bbb");
    }).then(function(){
        console.log("ccc");
    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值