promise语法(1)

setTimeout()函数也是一个非阻塞的异步函数

后端的fs.readFile()函数也是一个非阻塞的异步函数

es6中的promise对象的then函数也是一个非阻塞的异步函数

任务的队列分类 和 事件循环

任务指的就是js代码中的运行的代码

fn()代表了fn任务的运行 脚本也是一个任务 计时器的运行也是一个任务 promise也是

任务分为同步的任务 和 异步的任务

 //同步任务

function fn(){}

var a = new Array()

var b=fn()

//异步任务

setTimeout(fn,1000)

p1.then(fn)

console.log(123)

异步任务的队列优先级:异步宏任务先执行, 然后再执行异步微任务

事件循环 任务开启后:内部执行的时候可能会有新的任务

宏任务:脚本就是一个宏任务

脚本运行 执行第一个宏任务:1.先执行同步任务  2.添加新的宏任务到队列中 添加新的异步微任务3.在执行异步微任务

 setTimeout(function(){console.log(4)},0);
      new Promise(function(resolve){
          console.log(1)
          for( var i=0 ; i<10000 ; i++ ){
              i==9999 && resolve()
          }
          console.log(2)
      }).then(function(){
          console.log(5)
      });
      console.log(3);
打印 1,2,3,5,4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值