日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA回调函数简单讲解 CallBack

發布時間:2023/12/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA回调函数简单讲解 CallBack 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

回調,其實就是有個回應的那種感覺。

那么,接下來,我們就用消息推送的場景,簡簡單單地講解下回調函數的使用。

直接看代碼,

先創建一個回調接口,

MessageCallBack

/*** @Author : JCccc* @CreateTime : 2019-2-12* @Description :回調函數需要執行的內容* @Point: Keep a good mood**/public interface MessageCallBack {//成功public void onSccuess(String message, String account);//失敗public void onFailure(String message, String account);//重連等等 }

接下來,是模擬消息發送的客戶端,

MessageClient

/*** @Author : JCccc* @CreateTime : 2019-2-12* @Description :* @Point: Keep a good mood**/ public class MessageClient implements MessageCallBack {private String message;private String account;//重寫回調接口的方法@Overridepublic void onSccuess(String message, String account) {System.out.println("進入回調函數--"+"消息推送成功,"+"客戶是:"+account+" 推送的消息是:"+message);}@Overridepublic void onFailure(String message, String account) {System.out.println("進入回調函數--"+"消息推送失敗,"+"客戶是:"+account+" 推送的消息是:"+message);}public void sendMessage(){System.out.println("開始調用服務端進行消息的推送");new MessageServer().send(message,account,this);// new MessageServer().send(message,"Mike",new MessageClient(message,account));}public MessageClient(String message, String account) {this.message = message;this.account = account;}}

接下來,是模擬消息服務器:

?MessageServer:

/*** @Author : JCccc* @CreateTime : 2019-2-12* @Description :* @Point: Keep a good mood**/ public class MessageServer {public void send(String message, String account, MessageClient messageClient){try {System.out.println(message+" "+account+"消息推送完畢");messageClient.onSccuess(message,account);} catch (Exception e) {e.printStackTrace();messageClient.onFailure(message,account);}} }

最后,寫個簡單的對外接口,提供消息推送,

MessageController

?

import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController;/*** @Author : JCccc* @CreateTime : 2019-2-12* @Description :* @Point: Keep a good mood**/@RestController public class MessageController {@GetMapping("/sendMessage/test")public void sendMesssage(@RequestParam String account){String message="這是一條測試消息";MessageClient messageClient=new MessageClient(message,account);messageClient.sendMessage();}}

?

現在,代碼碼完了,我們打開postman來看看整個跑起來是怎么回事,

?

運行結果:

?可以看到控制臺得輸出是

整個流程下來,應用調用消息客戶端,想要推送一條消息;

? ? ? ? ? ? ? ? ? ? ? ? ?消息客戶端拿到客戶信息和需要推送的消息后,調用消息服務端推送消息的方法進行推送操作;

? ? ? ? ? ? ? ? ? ? ? ? 消息服務端進行完推送操作后,調用客戶端的回調函數,告知推送成功或是失敗。

? 如果要驗證下消息推送失敗的回調,也簡單,把代碼

// int a=2/0;

加到消息服務端推送處,模擬推送過程出現異常即可。

?

?

好了,簡單的回調函數的應用場景介紹就這樣吧, 可以熟悉后自己擴展。

總結

以上是生活随笔為你收集整理的JAVA回调函数简单讲解 CallBack的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。