1.promise 有三种状态 pending rejected fulfilled 状态只能从pending->rejected 或者pending ->fulfilled 状态一经改变不会再变
2.promise.then .catch .finally 属于微任务,可以链式调用 可以多次调用 多次调用的value相同
3.promise.resolve() 相当于创建一个状态是fulfilled的promise
相当于
new Promise(resolve,reject=>{
resolve()
})
4.promise.reject() 相当于 创建一个状态为rejected的promise
5.promise.then .catch .finally 都会返回一个promise
如果定义的时候返回的就是一个promise 隐式返回的promise的状态由返回的promise的状态决定
6.promise.then() 可以不传参数 或者参数不是函数的情况下 会发生结果透传
7.promise.then() 的第二个参数等同于 promise.catch
async
1.async 里面的await 相当于new Promise() await 后面的代码相当于 .then()里面的代码
2.async 后面如果跟的是一个promise 会等待promise状态改变后继续执行
3.async函数的返回值是promise 如果返回的不是promise 也会被包装成promise