W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
異步請(qǐng)求只有在執(zhí)行網(wǎng)絡(luò)請(qǐng)求的時(shí)候有一點(diǎn)區(qū)別,其他地方和同步請(qǐng)求配置和操作都是一樣的。
String githubContent = HttpClient .get("https://www.github.com") .execute(new CallbackAdaptor<String>(){ @Override public DataHandler<T> getDataHandler() { return StringDataHandler.create(); } @Override public void onSuccess(T data) { //data就是經(jīng)過(guò)處理后的數(shù)據(jù),直接在這里寫(xiě)自己的業(yè)務(wù)邏輯 } });CallbackAdaptor是Callback的默認(rèn)實(shí)現(xiàn),一般推薦使用CallbackAdaptor,這樣你只需要關(guān)注的方法。下面著重介紹Callback接口定義。
Callback
是回調(diào)定義接口,里面總共定義了6個(gè)函數(shù),每個(gè)函數(shù)被調(diào)用的順序不一樣。
onBefore()
第一被調(diào)用,主要在請(qǐng)求網(wǎng)絡(luò)之前,這個(gè)函數(shù)有返回值,如果返回false
則阻止此次請(qǐng)求了;postProgress()
第二被調(diào)用,上傳進(jìn)度回調(diào)函數(shù)onError()
第三被調(diào)用,當(dāng)只有請(qǐng)求失敗時(shí)才會(huì)觸發(fā);onComplete()
第四被調(diào)用,當(dāng)請(qǐng)求接口完成后觸發(fā)該函數(shù);onSuccess()
第五被調(diào)用,當(dāng)請(qǐng)求接口成功(HTTP狀態(tài)碼為200)則會(huì)觸發(fā)該函數(shù), 該函數(shù)會(huì)依賴另外一個(gè)函數(shù)getDataHandler()
,返回一個(gè)指定的數(shù)據(jù)處理器,處理原始數(shù)據(jù)。對(duì)于數(shù)據(jù)處理器前面已經(jīng)了解過(guò)了。異步回調(diào)接口Callback
總共定義了6個(gè)函數(shù),但是一般不會(huì)關(guān)心所有函數(shù)處理情況,所以提供了CallbackAdaptor
空實(shí)現(xiàn)類,想要關(guān)注哪個(gè)函數(shù)的執(zhí)行結(jié)果,重載那個(gè)函數(shù)即可。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: