回調(diào)函數(shù)是什么在學(xué)習(xí)之前還真不知道js回調(diào)函數(shù)怎么使用及作用了疗垛,下面本文章把我在學(xué)習(xí)回調(diào)函數(shù)例子給各位同學(xué)介紹一下吧,有需了解的同學(xué)不防進入?yún)⒖肌?/p>
回調(diào)函數(shù)原理:
我現(xiàn)在出發(fā)毫痕,到了通知你”
這是一個異步的流程,“我出發(fā)”這個過程中(函數(shù)執(zhí)行)庆捺,“你”可以去做任何事军掂,“到了”(函數(shù)執(zhí)行完畢)“通知你”(回調(diào))進行之后的流程
例子
1.基本方法
<script language="javascript" type="text/javascript">
function doSomething(callback) {
// …
// Call the callback
callback('stuff', 'goes', 'here');
}
function foo(a, b, c) {
// I'm the callback
alert(a + " " + b + " " + c);
}
doSomething(foo);
</script>
或者用匿名函數(shù)的形式
<script language="javascript" type="text/javascript">
function dosomething(damsg, callback){
alert(damsg);
if(typeof callback == "function")
callback();
}
dosomething("回調(diào)函數(shù)", function(){
alert("和 jQuery 的 callbacks 形式一樣!");
});
</script>
小程序 回調(diào)函數(shù)的使用
// 聲明 函數(shù)
getProductList(getList, options) {
let that = this;
// options 是個對象
ajax({
url: api.getProsWithoutImage,
param: options,
showLoading: false
}).then(res => {
if (res.data.code === "1") {
let list = res.data.list // 非車產(chǎn)品列表
if (list.length == 0) {
wx.showModal({
title: '溫馨提示',
content: '暫無上架產(chǎn)品!',
showCancel: false
})
}
getList(list) // 回調(diào)函數(shù) 處理 數(shù)組
} else {
wx.showModal({
title: '溫馨提示',
content: res.data.message,
showCancel: false
})
}
})
}
// 調(diào)用函數(shù)
let options = { branchCode, type: "2", kind: "0" };
this.getProductList((noCarProduct) => {
if (noCarProduct.length) {
this.setData({
carProduction: carProduct,
noCarProductions: noCarProduct,
noThing: true
})
} else {
this.setData({
carProduction: carProduct,
noCarProductions: noCarProduct,
noThing: false // 顯示"空空如也"
})
}
}, options)