從這個(gè)任務(wù)來(lái)看,小明實(shí)際上分為三個(gè)任務(wù)。1上傳U盤(pán)數(shù)據(jù)到公司的網(wǎng)絡(luò)磁盤(pán)。2完成后向領(lǐng)導(dǎo)傳達(dá)信息。三。向所有員工發(fā)送公告。
但從邏輯上講,后兩個(gè)任務(wù)是基于第一個(gè)任務(wù)的,然后才能執(zhí)行。
由于這種依賴(lài)性,在軟件設(shè)計(jì)或編碼過(guò)程中,我們將需要執(zhí)行的任務(wù)(后兩個(gè)任務(wù))視為基本任務(wù)(第一個(gè)任務(wù))的回調(diào)函數(shù)。
回調(diào)函數(shù)是在任務(wù)完成后執(zhí)行的任務(wù)。
什么是回調(diào)函數(shù)?普通函數(shù)和回調(diào)函數(shù)的調(diào)用方式主要不同:
1。調(diào)用普通函數(shù):調(diào)用程序調(diào)用普通函數(shù)后,程序執(zhí)行立即轉(zhuǎn)為被調(diào)用函數(shù)執(zhí)行,然后返回調(diào)用程序繼續(xù)執(zhí)行,直到被調(diào)用函數(shù)執(zhí)行為止。從調(diào)用程序的角度來(lái)看,這個(gè)過(guò)程是“call-->waitforthecalledfunctiontofinisheexecuting-->continueexecuting”。
2.調(diào)用回調(diào)函數(shù):調(diào)用程序調(diào)用回調(diào)函數(shù)后,立即返回并繼續(xù)執(zhí)行,無(wú)需等待函數(shù)執(zhí)行。這樣,調(diào)用程序和被調(diào)用函數(shù)被同時(shí)執(zhí)行。當(dāng)被調(diào)用函數(shù)完成時(shí),被調(diào)用函數(shù)將依次調(diào)用預(yù)先指定的函數(shù),通知調(diào)用程序函數(shù)調(diào)用結(jié)束。這個(gè)過(guò)程稱(chēng)為回調(diào),它是回調(diào)函數(shù)名稱(chēng)的來(lái)源。擴(kuò)展信息
回調(diào)函數(shù)是指預(yù)先定義的函數(shù)。當(dāng)滿足某個(gè)條件時(shí),函數(shù)將被調(diào)用并執(zhí)行?;卣{(diào)函數(shù)是網(wǎng)絡(luò)編程中常用的函數(shù)。由于網(wǎng)絡(luò)中數(shù)據(jù)的到達(dá)是不可預(yù)測(cè)的,因此功能是預(yù)先安排的。一旦底層操作系統(tǒng)接收到網(wǎng)絡(luò)事件,它將自動(dòng)調(diào)用我們預(yù)先準(zhǔn)備好的處理函數(shù)。你可以用微信來(lái)關(guān)注黑馬設(shè)計(jì)師。網(wǎng)上有很多熱心的老師幫你答疑