同步, 异步,promise
- 我们都知道JS是单线程语言,只能同时做一件事,所有程序按照顺序执行,当我们遇到某段需要花费一些时间才能执行的程序时(比如:网络请求,定时任务等),JS程序执行的整个进程就会卡在这段程序等待的时间中,异步就是当我们遇到这类问题时,不让代码阻塞在这里。
- 于是,异步逻辑而出 => promise 表示承诺在未来的某个时刻可能会完成并返回结果,
异步操作是指在程序执行过程中,某个操作不会立即返回结果,而是需要 ,而是需要一段时间的等待
- Promise对象有三种状态pending(待处理),fu1filled(已履行)rejected(被驳回)
- 当创建一个promise对象时,它的初始状态为pending,表示异步执行还未完成
- 当异步执行成功时,会调用resolve函数把promise对象的状态改变为fulfilled,可通过then方法来获取异步操作的
- 当异步执行异常时,会调用reject函数把promise对象的状态更改为rejected,可通过catch方法来处理错误
4.同步代码和异步代码是怎么执行的?

- 同步代码,一行一行放在callstack执行
- 遇到异步,会先"记录"下,等待时机(定时,网络请求等)
- 时机到了,就移动到callbackqueue
- 如callstack为空(即同步代码执行完)eventloop开始工作
- 轮询查找calbackqueue,如有则移动到calstack执行
- 然后继续轮询查找(永动机一样)
语法格式
