固定されて所望の出力が得られます!反復された要素とサブスクライブの間の遅延
私は反復する必要があるアイテムのリストを持っており、各エレメント間には2秒待っています。すべてのアイテムが処理され、サブスクリプションが呼び出されると、もう2秒待っています。ここで
が私のコードです:
rx.Observable.from(new String[] {"Test1", "Test2", "Test3", "Test4"})
.zipWith(rx.Observable.interval(2000, 1000,TimeUnit.MILLISECONDS), (a,b) -> a)
.subscribe(name -> {
System.out.println(name);
}, e -> {
System.out.println("ERROR" + e);
},() -> {
rx.Observable.timer(4000, TimeUnit.MILLISECONDS)
.subscribe(notUsed -> "THE END!");
});
try {
// Sleep so the program doesn't exit immediately
Thread.sleep(10000);
}
catch (Exception e) {
}
それはかなりいい実行されますが、それが印刷さ購読で「間隔」実行時に「ENDを!」 3回!
TEST1
TEST2
TEST3
TEST4
THE END!
THE END!
THE END!
これを改善する方法はありますか?
ありがとうございました!あなたの最初のストリーム(Test1-4)が完了したら
素晴らしいです!ありがとうございます@ – Shvalb
.map(..)がvoid(Stringではなく)を返すメソッドを呼び出すように、配列内のすべての項目が出力された後にのみ呼び出されるように、上記のコードを変更するにはどうすればよいですか? – Shvalb
サブスクリプションの完全な部分に 'interval'コールを置くことは可能ですか? – Shvalb