JavaScript-异步函数promise对象

JavaScript的主要优势之一就是任何事情都是异步的。在大多数情况下,不同部分的代码不会影响其他的代码执行,然而这就造成了同步执行的困难,promis对象就是用来解决异步的问题

了解promise

promise三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)(一旦状态改变,就不会再变!!!)

回调函数调用过早
调用过早就是将异步函数作为同步处理了,javascript以单线程同步的方式执行主线程,遇到异步会将异步函数放入到任务队列中,当主线程执行完毕,会循环执行任务队列中的函数,也就是事件循环,直到任务队列为空

回调函数调用过晚或不被调用
回调函数调用过晚的处理原理和调用过早很类似,
在promise的then()中存放着异步函数,所有的异步都存在于js的任务队列中,当js的主线程执行完毕后,会依次执行任务队列中的内容,不会出现执行过晚的情况

回调函数调用次数过多或者过少
当状态变为失败时,就不会再变为成功,成功的函数也不会执行,反之亦然

事件循环和任务队列
事件循环就像是游乐场,玩过一个游戏后,你需要重新排到队尾才能再玩一次
任务队列就是,在你玩过一个游戏后,可以插队接着玩 (づ●─●)づ )

注意:不管是失败还是成功,回调函数都会被调用
其次,promise一旦新建,状态不能取消, 处于 pending 状态时,不能了解状态,不会被改变,
还有它可以将异步以同步的方式展现,减少了层层嵌套的麻烦

这里是十澈
喜欢的点个赞,谢谢
如有错误,请指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值