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

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

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

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

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

单线程JS如何实现异步操作_第1张图片
这个代码输出的就是单线程JS如何实现异步操作_第2张图片
这个就是Promise第一个缺点
这个时候放在function就可以避免这个缺点单线程JS如何实现异步操作_第3张图片

你可能感兴趣的:(单线程JS如何实现异步操作)