簡體   English   中英

RxJava函數式編程:如何使用適當的參數調用匿名函數

[英]RxJava functional programming: how to call anonymous function with appropriate arguments

RxJava的startFuture(...)采用Func0 (不帶參數的函數),該函數返回Future。

但是,我有一個函數帶有3個參數,可以表示為Func3<type, type, type, Future> 我編寫了此函數,該函數應關閉Func3並將其作為Func0的結果返回:

public Func0 convertToFunc0(final Func3<type 1, type 2, type 3, Future> f)
{
    return new Func0() {
        @Override
        public void call() {
            f.call(???);
        }
    };
}

假設我已經為“類型1”,“類型2”等插入了適當的類型,如何訪問f的參數,以便可以“關閉”它們? 關於RxJava的功能部分,我實際上找不到任何文檔,並且我已經看過源代碼,但是沒有找到任何地方。

怎么樣

public Func0 convertToFunc0(final Func3<type 1, type 2, type 3, Future> f, final type1 param1, final type2 param2, final type3 param3)
{
    return new Func0() {
        @Override
        public void call() {
            f.call(param1, param2, param3);
        }
    };
}

如果param1param2param3不是線程安全的,則需要注意潛在的競爭條件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM