本文主要是介绍Promise简明代码记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Promise讲解
个人感觉讲的比较好的,忘记了可以反复听~忘记了主要是写的少~忘了就敲一敲吧
常见的异步:Ajax和定时器
Promise是一个类,构造函数,参数接2个行参
Promise是有状态的,前端可以打印查看
resolve
const p1 = new Promise((resolve,reject)=>{resolve("P1 任务成功得到的数据");
})
p1.then(data=>{console.log(data);
}).catch(err =>{console.log(err);
})//打印为P1 任务成功得到的数据
reject
const p2 = new Promise((resolve,reject)=>{ reject("P2 任务失败得到的数据")
})
p2.then(data=>{console.log(data);
}).catch(err =>{console.log(err);
})// 打印为P2 任务失败得到的数据
2 个异步任务
新的promise写到then里,第二个then处理第一个then种promise返回的对象
const p3 = new Promise((resolve,reject)=>{ resolve("P3 任务成功得到的数据")
})
p3.then(data=>{console.log(data);return new Promise((resolve,reject)=>{resolve("P4 任务成功得到的数据"); })
}).then(data=>{console.log(data);
})// 打印为
// P3 任务成功得到的数据
// P4 任务成功得到的数据
2个异步任务,第一个出错用catch
const p5 = new Promise((resolve,reject)=>{ reject("P5 任务失败得到的数据")
})
p5.then(data=>{return new Promise((resolve,reject)=>{resolve("P6 任务成功得到的数据"); })
})
.then(data=>{console.log(data);
})
.catch(err=>{console.log(err)
})//打印为P5 任务失败得到的数据
2个异步任务,失败利用err(如果有err,就不会走catch)
const p5 = new Promise((resolve,reject)=>{ reject("P5 任务失败得到的数据")
})
p5.then(data=>{return new Promise((resolve,reject)=>{resolve("P6 任务成功得到的数据"); })
},err => { console.log(err);
})
.then(data=>{console.log(data);
})//打印结果为: P5 任务失败得到的数据
Async&await
// 准备一个返回promise的对象函数
function asyncTask () {return new Promise((resolve,reject)=>{const isSuccess = true;if(isSuccess){resolve("成功")}else{reject("失败")}})
}
// 为使用await的函数添加async
async function main() {const data = await asyncTask();console.log(data);
}
这篇关于Promise简明代码记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!