Promise

123 阅读1分钟

Promise主要用于异步计算,可以在对象之间操作promise 在之前处理异步是通过回调函数的形式进行处理,很容易出现回调地狱,剥夺了return的作用,使得嵌套层次深,不好维护 Promise是一个对象,可以保存状态,函数不可以 Promise是异步的容器,本身是同步的,里面可以写异步的,主要解决异步的问题有:定时器,网络请求,数据库

new Promise ((resolve,reject)=>{ setTime(()=>{ console.log(2) resolve('abc') },0) }).then((data)=>{ console.log(data) }).catch(err=>{ console.log('失败了') }) resolve:解析 reject:失败 成功then函数执行,失败catch函数执行 promise有三个状态:初始状态 操作成功 操作失败 .then()接受两个参数,会返回一个新的promise实例,所以可以链式调用 promise会自动捕获内部异常,并交给reject响应函数处理