回调函数和处理异步
回调函数指的是当一个函数作为另一个函数的参数时,作为 参数的函数就是一个
回调函数,回调函数应用最广泛的就是处理异步问题
实例
<script>
/* var res;
function a(){
setTimeout(()=> {
res = 5
},1000)
}
function b(){
console.log("我要拿到a函数计算后的结果"+res);
}
a();//需要1秒后才能拿到Res的结果
b();//不会等1秒,而是直接执行*/
//----------------- 错误处理方式1
/* var res;
function a(){
var res;
setTimeout(() => {
res = 5
}, 1000);
return res;//这个结果也不会等1秒,而是直接返回了undefined
}
function b(){
console.log("我要拿到a函数计算后的结果"+ a());
}
b();*/
//------------------错误处理方式2
/*function a(){
var res;
setTimeout(() => {
res = 5;
return res;
}, 1000);
}
function b(){
console.log("我要拿到a函数计算后的结果"+a());
}
b();//是直接执行的,不会等a函数返回以后再执行*/
//---------------正确的回调方式1-----------
/*function a(callback){
var res;
setTimeout(() => {
res = 5;
callback(res);
}, 1000);
}
function b(r){
console.log("我要拿到a函数计算后的结果"+r);
}
a(b);*/
//--------------正确的回调方式2--------------
var res;
function a(callback){
setTimeout(() => {
res = 5;
callback();
}, 1000);
}
function b(){
console.log("我要拿到a函数计算后的结果"+res);
}
a(b);//回调函数的写法,将函数名作为另一个函数的参数
</script>