天天看點

java 中的異步回調

異步回調,本來在c#中是一件極為簡單和優雅的事情,想不到在java的世界裡,卻如此煩瑣,先看下類圖:

java 中的異步回調

先定義了一個CallBackTask,做為外層的面子工程,其主要工作為start 開始一個異步操作,然而真正幹活的是CallBackBody,它裡面的execute才是真正要處理的事情,如果成功,則觸發onSucess,否則觸發onFailure。

CallBackApp做為最終的運作舞台,這裡面還得單獨跑一個線程,來啟動CallBackTask,這樣才不會阻塞後面的處理。

CallBackBody:

CallBackTask:

最後測試一把:

CallBackApp:

運作結果:

準備開始執行異步任務...

正在執行耗時操作...

上下文資訊

異步任務已經開始,請等待完成...

執行完成!

成功後的回調函數...