摘要:如何編寫回調函數(shù)回調函數(shù)其實就是將某個特定接口的實現(xiàn)作為參數(shù)傳入目標對象,讓目標對象在適當?shù)臅r候對齊進行調用。是測試的主體,在函數(shù)中,產(chǎn)生一個對象,然后調用其方法,同時傳入一個匿名類實現(xiàn)了接口。
如何編寫回調函數(shù)?
回調函數(shù)其實就是將某個特定接口的實現(xiàn)作為參數(shù)傳入目標對象,讓目標對象在適當?shù)臅r候對齊進行調用。
Response接口包含了兩個方法:success和fail,分別需要在請求成功和失敗時調用,但是具體這兩個方法需要做寫什么事情,這在接口的定義中是無從知道的,因為這是根據(jù)每個發(fā)送請求的主體的具體情況而確定的。
Request是發(fā)送請求類,是執(zhí)行人物的主體,在其send(Response response)方法中,會接受一個Response接口的實現(xiàn),并在請求完成后,根據(jù)請求的結果調用Response中相應的方法。
CallbackSample是測試的主體,在main函數(shù)中,產(chǎn)生一個Request對象,然后調用其send方法,同時傳入一個匿名類實現(xiàn)了Response接口。
java/** * Created by findingsea on 3/11/15. */ public interface Response { void success(); void fail(); }
java/** * Created by findingsea on 3/11/15. */ public class Request { public void send(Response response) { System.out.println("Send Request"); response.fail(); } }
java/** * Created by findingsea on 3/11/15. */ public class CallbackSample { public static void main(String[] args) { Request request = new Request(); request.send(new Response() { @Override public void success() { System.out.println("Request Success"); } @Override public void fail() { System.out.println("Request Fail"); } }); } }
以下是輸出:
javaSend Request Request Fail
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.hztianpu.com/yun/64271.html
摘要:事件循環(huán)從回調隊列中獲取并將其推入調用堆棧。執(zhí)行從調用堆棧中移除從調用堆棧中移除快速回顧值得注意的是,指定了事件循環(huán)應該如何工作,這意味著在技術上它屬于引擎的職責范圍,不再僅僅扮演宿主環(huán)境的角色。 此篇是 JavaScript是如何工作的第四篇,其它三篇可以看這里: JavaScript是如何工作的:引擎,運行時和調用堆棧的概述! JavaScript是如何工作的:深入V8引擎&編寫...
摘要:一個簡單的轉換為的例子我們調用函數(shù)返回一個的實例,在實例化的過程中進行文件的讀取,當文件讀取的回調觸發(fā)式,進行狀態(tài)的變更,或者狀態(tài)的變更我們使用來監(jiān)聽,第一個回調為的處理,第二個回調為的處理。 2018年已經(jīng)到了5月份,node的4.x版本也已經(jīng)停止了維護 我司的某個服務也已經(jīng)切到了8.x,目前正在做koa2.x的遷移 將之前的generator全部替換為async 但是,在替換...
摘要:編寫異步代碼可能是一種不同的體驗,尤其是對異步控制流而言?;卣{函數(shù)的準則在編寫異步代碼時,要記住的第一個規(guī)則是在定義回調時不要濫用閉包。為回調創(chuàng)建命名函數(shù),避免使用閉包,并將中間結果作為參數(shù)傳遞。 本系列文章為《Node.js Design Patterns Second Edition》的原文翻譯和讀書筆記,在GitHub連載更新,同步翻譯版鏈接。 歡迎關注我的專欄,之后的博文將在專...
摘要:只要在調用異步函數(shù)時設置一個或多個回調函數(shù),函數(shù)就會在完成時自動調用回調函數(shù)。要解決的問題是,如何將回調方法的參數(shù)從回調方法中傳遞出來,讓它可以像同步函數(shù)的返回結果一樣,在回調函數(shù)以外的控制范圍內,可以傳遞和復用。 摘要: 我們知道 JavaScript 自從有了 Generator 之后,就有了各種基于 Generator 封裝的協(xié)程。其中 hprose 中封裝的 Promise 和...
摘要:服務器每收到一條請求,都會用新的和對象觸發(fā)回調函數(shù)。但不會在回調函數(shù)被觸發(fā)之前開始對請求體的解析。在調用完請求回調函數(shù)之后,就要由你負責用方法結束響應了見下圖。比較常見的情況是當所請求的資源不存在時返回一個狀態(tài)碼。 前言 本文將通過一個todo list前后端分離的小項目來講解如何用Node創(chuàng)建符合RESTful風格的API接口。 創(chuàng)建HTTP服務器 我們先來了解下如何用Node創(chuàng)建H...
閱讀 1739·2021-11-15 11:37
閱讀 3485·2021-09-28 09:44
閱讀 1740·2021-09-07 10:15
閱讀 2858·2021-09-03 10:39
閱讀 2754·2019-08-29 13:20
閱讀 1359·2019-08-29 12:51
閱讀 2271·2019-08-26 13:44
閱讀 2187·2019-08-23 18:02