[英]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);
}
};
}
如果param1
, param2
和param3
不是線程安全的,則需要注意潛在的競爭條件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.