折り返し電話
説明: コールバック関数は、関数または API を呼び出すときに、関数を呼び出すためのパラメーターとして関数を渡します。
使用シナリオ: ajax リクエストやその他の操作などの非同期 API の場合、コールバック関数を使用して、リクエストがデータを取得するのを待ってから、後続の操作を実行できます。
例:
function fun1(){
const x=1,y=2
add(x,y,function(data){
console.log(data)
})
}
//callback就是fun1传递过来的回调函数
function add(x1,y1,callback){
setTimeOut(()=>{
//模拟异步情况,当延时1s后,调用回调函数,将x+y的结果返回给fun1
callback(x1+y1)
},1000)
}
ajax リクエストをシミュレートする
//向后端发起请求获取数据
function getdata(){
datarequest(...,function(err,data){
//传入请求参数和回调函数
//得到数据后进行一系列操作...
})
}
//从数据库获取数据并发送响应
function datarequest(...,callback){
... //从数据库获取数据data等一系列操作
if(err) return callback(err)//如果失败,返回err
return callback(null,data)//如果成功,返回data
}