2016-02-22 84 views
1

的RxJava曾在去年week.From我的問題,Chain of responsibility in RxAndroid對於每一個在RxJava

不過,我想用的foreach功能RxJava循環的結果,但它似乎有所不同。我找不到方法可以使用或者我可能是錯誤的方式?

任務A(PARAMS:整數,響應:字符串[])

任務B(PARAMS:字符串;響應:長)

任務A - >乙

燦任何人都知道如何做到這一點?謝謝。

Observable.from(new Integer[] {1,2}) 
.map(new Func1<Integer, String[]>() { 
    @Override 
    public String[] call(String s) { 
     return new String[] { "One","Two","Three"}; 
    } 
}).map(new Func1<String, String>() { 
    @Override 
    public String call(String s) { 
     return String.format("Testing:%s",s); 
    } 
}); 

我想做某事像

測試:一個

測試:雙

測試:三國

測試:一個

測試:兩個

測試:三國

+0

如果你訂閱,你正在做的無阻塞的一種形式 - 每一個輸入的順序。 – akarnokd

+0

我嘗試使用Observable.from(new Integer [])。map(integer - > String [])。subscribe(String)它不起作用。 –

回答

0

您可以使用flatMap/flatMapIterable運營商進行第二陣列的扁平化:

Observable.range(1, 2) 
.flatMapIterable(v -> Arrays.asList("One", "Two", "Three")) 
.map(s -> String.format("Testing:%s", s)) 
.subscribe(System.out::println)