Promise
基础理解:
// 实例化promise对象
const p = new Promise((resolve,reject)=>{
setTimeout(()=>{
let data = [1,2]
// 将promise状态改为成功
// resolve(data)
let err = '状态为失败'
reject(err)
},3000)
})
// 调用promise中then方法,成功的状态进入then的value回调中,失败状态进入reason回调中
// result-then方法的返回结果也是一个Promise对象,对象状态由回调函数的执行结果决定
// 1.如果回调函数中返回的结果是 非Promise对象,状态为成功,返回值为对象的成功值。
const result = p.then(value=>{
console.log(value,"成功状态执行");
// 没有return 就返回undefined
// 1.非promise类型
// return 'sdf'
// 2.是promise类型
return new Promise((r,j)=>{
setTimeout(()=>{
r('ok')
},2000)
// j('error')
})
// 3.抛出错误
// throw new Error('出错啦')
},reason=>{
console.error(reason,'失败状态执行');
}).then((value)=>{
console.log(value)
return new Promise((r,j)=>{
setTimeout(()=>{
r('ok3')
},500)
// j('error')
})
}).then((res)=>{
console.log(res)
})
p.catch((err)=>{
console.log(err,'err')
})
扩展: