成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何編寫回調(diào)函數(shù)?

happen / 2563人閱讀

摘要:如何編寫回調(diào)函數(shù)回調(diào)函數(shù)其實(shí)就是將某個(gè)特定接口的實(shí)現(xiàn)作為參數(shù)傳入目標(biāo)對(duì)象,讓目標(biāo)對(duì)象在適當(dāng)?shù)臅r(shí)候?qū)R進(jìn)行調(diào)用。是測(cè)試的主體,在函數(shù)中,產(chǎn)生一個(gè)對(duì)象,然后調(diào)用其方法,同時(shí)傳入一個(gè)匿名類實(shí)現(xiàn)了接口。

如何編寫回調(diào)函數(shù)?

回調(diào)函數(shù)其實(shí)就是將某個(gè)特定接口的實(shí)現(xiàn)作為參數(shù)傳入目標(biāo)對(duì)象,讓目標(biāo)對(duì)象在適當(dāng)?shù)臅r(shí)候?qū)R進(jìn)行調(diào)用。

Response接口包含了兩個(gè)方法:successfail,分別需要在請(qǐng)求成功和失敗時(shí)調(diào)用,但是具體這兩個(gè)方法需要做寫什么事情,這在接口的定義中是無從知道的,因?yàn)檫@是根據(jù)每個(gè)發(fā)送請(qǐng)求的主體的具體情況而確定的。

Request是發(fā)送請(qǐng)求類,是執(zhí)行人物的主體,在其send(Response response)方法中,會(huì)接受一個(gè)Response接口的實(shí)現(xiàn),并在請(qǐng)求完成后,根據(jù)請(qǐng)求的結(jié)果調(diào)用Response中相應(yīng)的方法。

CallbackSample是測(cè)試的主體,在main函數(shù)中,產(chǎn)生一個(gè)Request對(duì)象,然后調(diào)用其send方法,同時(shí)傳入一個(gè)匿名類實(shí)現(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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64271.html

相關(guān)文章

  • JavaScript是如何工作的:事件循環(huán)和異步編程的崛起+ 5種使用 async/await 更

    摘要:事件循環(huán)從回調(diào)隊(duì)列中獲取并將其推入調(diào)用堆棧。執(zhí)行從調(diào)用堆棧中移除從調(diào)用堆棧中移除快速回顧值得注意的是,指定了事件循環(huán)應(yīng)該如何工作,這意味著在技術(shù)上它屬于引擎的職責(zé)范圍,不再僅僅扮演宿主環(huán)境的角色。 此篇是 JavaScript是如何工作的第四篇,其它三篇可以看這里: JavaScript是如何工作的:引擎,運(yùn)行時(shí)和調(diào)用堆棧的概述! JavaScript是如何工作的:深入V8引擎&編寫...

    Honwhy 評(píng)論0 收藏0
  • 如何更好的編寫async函數(shù)

    摘要:一個(gè)簡單的轉(zhuǎn)換為的例子我們調(diào)用函數(shù)返回一個(gè)的實(shí)例,在實(shí)例化的過程中進(jìn)行文件的讀取,當(dāng)文件讀取的回調(diào)觸發(fā)式,進(jìn)行狀態(tài)的變更,或者狀態(tài)的變更我們使用來監(jiān)聽,第一個(gè)回調(diào)為的處理,第二個(gè)回調(diào)為的處理。 2018年已經(jīng)到了5月份,node的4.x版本也已經(jīng)停止了維護(hù) 我司的某個(gè)服務(wù)也已經(jīng)切到了8.x,目前正在做koa2.x的遷移 將之前的generator全部替換為async 但是,在替換...

    isaced 評(píng)論0 收藏0
  • 《Node.js設(shè)計(jì)模式》基于回調(diào)的異步控制流

    摘要:編寫異步代碼可能是一種不同的體驗(yàn),尤其是對(duì)異步控制流而言?;卣{(diào)函數(shù)的準(zhǔn)則在編寫異步代碼時(shí),要記住的第一個(gè)規(guī)則是在定義回調(diào)時(shí)不要濫用閉包。為回調(diào)創(chuàng)建命名函數(shù),避免使用閉包,并將中間結(jié)果作為參數(shù)傳遞。 本系列文章為《Node.js Design Patterns Second Edition》的原文翻譯和讀書筆記,在GitHub連載更新,同步翻譯版鏈接。 歡迎關(guān)注我的專欄,之后的博文將在專...

    Chiclaim 評(píng)論0 收藏0
  • 在 PHP 中使用 Promise + co/yield 協(xié)程

    摘要:只要在調(diào)用異步函數(shù)時(shí)設(shè)置一個(gè)或多個(gè)回調(diào)函數(shù),函數(shù)就會(huì)在完成時(shí)自動(dòng)調(diào)用回調(diào)函數(shù)。要解決的問題是,如何將回調(diào)方法的參數(shù)從回調(diào)方法中傳遞出來,讓它可以像同步函數(shù)的返回結(jié)果一樣,在回調(diào)函數(shù)以外的控制范圍內(nèi),可以傳遞和復(fù)用。 摘要: 我們知道 JavaScript 自從有了 Generator 之后,就有了各種基于 Generator 封裝的協(xié)程。其中 hprose 中封裝的 Promise 和...

    appetizerio 評(píng)論0 收藏0
  • 用Node編寫RESTful API接口

    摘要:服務(wù)器每收到一條請(qǐng)求,都會(huì)用新的和對(duì)象觸發(fā)回調(diào)函數(shù)。但不會(huì)在回調(diào)函數(shù)被觸發(fā)之前開始對(duì)請(qǐng)求體的解析。在調(diào)用完請(qǐng)求回調(diào)函數(shù)之后,就要由你負(fù)責(zé)用方法結(jié)束響應(yīng)了見下圖。比較常見的情況是當(dāng)所請(qǐng)求的資源不存在時(shí)返回一個(gè)狀態(tài)碼。 前言 本文將通過一個(gè)todo list前后端分離的小項(xiàng)目來講解如何用Node創(chuàng)建符合RESTful風(fēng)格的API接口。 創(chuàng)建HTTP服務(wù)器 我們先來了解下如何用Node創(chuàng)建H...

    Meils 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<