js异步编程的理解

js异步编程

同步任务与异步任务

同步任务
任务依次执行,当一个任务耗时很长时,后面的任务都要排队,造成阻塞
异步任务
不会去等待这个任务的结束才开始下一个任务
开启过后就立即往后执行下一个任务
后续逻辑一般会通过回调函数的方式定义
帮助单线程的js语言同时处理大量的耗时任务
缺点:代码执行顺序混乱
异步的根基是回调函数

回调函数

由调用者定义,交给执行者执行的函数

EventLoop

就是在程序中设置两个线程,一个负责程序本身的运行,称为"主线程",另一个负责 主线程与其他进程的通信(主要是各种IO操作)的通信,被称为“Event Loop线程”

Promise

1.promise 就是一个类,在执行这个类的时候需要一个执行器进去,执行器会立即执行
2. promise 中有三种状态,分别为成功 fulfilled 失败 rejected 等待 pending
pending --> fulfiled
pending -> rejected
一旦状态确定就不可更改
3. resolve和reject函数是用来更改状态的
resolve: fulfilled
reject: rejected
4. then方法内部做的事情是判断状态,如果状态是成功,调用成功回调的函数,如果失败,调用失败的回调函数,then方法是被定义在原型对象中
5. then成功回调有一个参数,表示成功之后的值, then失败回调有一个参数,表示失败后的原因
6. 同一个promise对象下面的then方法是可以被调用多次的,(所以then要返回一个promise对象)
7. then方法是可以被链式调用的,后面then方法的回调函数拿到值的是上一个then方法的回调函数的返回值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值