单线程JS如何实现异步操作

a.事件配合回调函数
b.延时器
c.Promise

1.Promise可以理解为有个容器,这个容器中存放的是未来要发生的事
它有三种状态:
pending准备状态
fulfilled成功的
rejected失败的
其中fulfilled代表的参数为resolve
rejected代表的参数为reject

Promise的特点
1.Promise不受外界影响,只有异步操作的结果才能改变它的状态
2.一旦状态发生改变后不再改变,任何时候都可以得到这个结果

Promise的缺点:
1.无法取消Promise,一旦新建就立即执行
2.内部的错误无法抛出
3.不知道到底进行到那种状态

在这里插入图片描述
这个代码输出的就是在这里插入图片描述
这个就是Promise第一个缺点
这个时候放在function就可以避免这个缺点在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaoHelloWord/article/details/94414679