promise的理解
const flag = false // true const promise = new Promise((resolve, reject)=>{ if(flag){ resolve("成功了") }else{ reject("失败了") } }) promise.then(data=>{ console.log(data) }).catch(data=>{ console.log(data) }).finally(()=>{ console.log("执行完毕") }) /*
我们可以用 new 关键字来创建一个promise对象 promise有三种状态 pending rejected fullfailed 状态是不可逆的 promise对象比较重要的几个方法.then .catch .finally 如果执行resolve那么会触发then里面的方法 如果执行reject那么会触发.catch里面的方法 不管是 resolve 还是 reject 都会执行finally方法
所以promise 解决了回调地狱的问题和异步的问题(事件循环)
asyns其实返回的就是一个promise对象 所以在实际开发中我们也会用async来代替new promise进行开发*/
const fn = function(params){
return new Promise((resolve, reject)=>{
if(params){
resolve("222成功了")
}else{
reject("222失败了")
}
})
}
fn(true).then((res)=>{
alert(res) // 222成功了
})
const fn2 = async function(){
return 1
}
console.log(fn2()) // 返回的是promise对象 async其实就是对new Promise的封装。返回的是promise对象,再通过.then就可以获取到返回值
fn2().then(res=>{
alert(res) // 1
})