1. Promise
Promise的诞生是为了解决“回调地狱”。
回调地狱:当多个回调函数一直往里嵌套的时候(外层的回调结果是内层的参数),观看代码的体验就会非常差劲,这就是所谓的回调地狱。
而为了解决这个问题,promise应运而生,它存在的目的就是能够更加优雅地书写复杂的异步任务<回调是一种异步>。
//原函数
function promiseTest(){
let p=new Promise(function(resolve,reject){
if(解决) resolve("结果数据(res)")
if(拒绝) reject("错误信息(err)")
})
return p;
}
//调用
promiseTest()
.then((res)=>{ 兑现承诺 })
.catch((err)=>{ 拒绝承诺 })
2. try-catch
<任何代码块都能使用,且能判断错误的范围较大>
能用来判断try内的代码是否有错,但是它的好处就是,出错了之后会执行catch内的代码,而不会中断整个程序,代码依然能够向后运行。
try {
这里写的代码执行时没有任何问题
}
catch (err) {
//如果上方try里的内容在执行时出错
console.error("出错", err);
}
3. success(res){ }, fail(err){ }
!它需要原函数本身带有这几个参数才能使用
executeFunction({
success(res) {
console.log('调用成功', res);
},
fail(err) {
console.error('调用失败:', err);
}
})