RxJava count() when one of two observable is not compled
I want to count items from stream
Observable
when trigger
is not completed. I want to update View by size of stream
when trigger
occurs. As long as trigger
not completed Consumer
not invoking accept()
. How I can resolve it?
Observable<Long> trigger = Observable.interval(2000L, TimeUnit.MILLISECONDS);
Observable<Long> stream = trigger
.flatMap(new Function<Long, ObservableSource<?>>()
@Override
public ObservableSource<?> apply(Long aLong) throws Exception
return Observable.just("A", "B", "C"); //completed observable
)
.count()
.toObservable();
stream.subscribe(new Consumer<Long>()
@Override
public void accept(Long size) throws Exception
Log.e("Elements: ", size.toString());
);
rx-java2
add a comment |
I want to count items from stream
Observable
when trigger
is not completed. I want to update View by size of stream
when trigger
occurs. As long as trigger
not completed Consumer
not invoking accept()
. How I can resolve it?
Observable<Long> trigger = Observable.interval(2000L, TimeUnit.MILLISECONDS);
Observable<Long> stream = trigger
.flatMap(new Function<Long, ObservableSource<?>>()
@Override
public ObservableSource<?> apply(Long aLong) throws Exception
return Observable.just("A", "B", "C"); //completed observable
)
.count()
.toObservable();
stream.subscribe(new Consumer<Long>()
@Override
public void accept(Long size) throws Exception
Log.e("Elements: ", size.toString());
);
rx-java2
add a comment |
I want to count items from stream
Observable
when trigger
is not completed. I want to update View by size of stream
when trigger
occurs. As long as trigger
not completed Consumer
not invoking accept()
. How I can resolve it?
Observable<Long> trigger = Observable.interval(2000L, TimeUnit.MILLISECONDS);
Observable<Long> stream = trigger
.flatMap(new Function<Long, ObservableSource<?>>()
@Override
public ObservableSource<?> apply(Long aLong) throws Exception
return Observable.just("A", "B", "C"); //completed observable
)
.count()
.toObservable();
stream.subscribe(new Consumer<Long>()
@Override
public void accept(Long size) throws Exception
Log.e("Elements: ", size.toString());
);
rx-java2
I want to count items from stream
Observable
when trigger
is not completed. I want to update View by size of stream
when trigger
occurs. As long as trigger
not completed Consumer
not invoking accept()
. How I can resolve it?
Observable<Long> trigger = Observable.interval(2000L, TimeUnit.MILLISECONDS);
Observable<Long> stream = trigger
.flatMap(new Function<Long, ObservableSource<?>>()
@Override
public ObservableSource<?> apply(Long aLong) throws Exception
return Observable.just("A", "B", "C"); //completed observable
)
.count()
.toObservable();
stream.subscribe(new Consumer<Long>()
@Override
public void accept(Long size) throws Exception
Log.e("Elements: ", size.toString());
);
rx-java2
rx-java2
edited Nov 12 '18 at 9:59
akarnokd
49.9k9103151
49.9k9103151
asked Nov 12 '18 at 9:47
MMCMMC
2416
2416
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Do a rolling count with scan
:
Observable<Long> trigger = Observable.interval(2000L, TimeUnit.MILLISECONDS);
Observable<Long> stream = trigger
.flatMap(new Function<Long, ObservableSource<String>>()
@Override
public ObservableSource<String> apply(Long aLong) throws Exception
return Observable.just("A", "B", "C"); //completed observable
)
.scan(0L, new BiFunction<Long, String, Long>()
@Override public Long apply(Long a, String b)
return a + 1;
)
;
stream.subscribe(new Consumer<Long>()
@Override
public void accept(Long size) throws Exception
Log.e("Elements: ", size.toString());
);
In this casesize
is amount of every item. I would like to count each time size of this Observable:Observable.just("A", "B", "C")
. In this case it should be always3
.
– MMC
Nov 12 '18 at 10:19
How about applyingcount()
on thosejust
s? "But it no longer compiles" ->flatMapSingle
.
– akarnokd
Nov 12 '18 at 11:29
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53259503%2frxjava-count-when-one-of-two-observable-is-not-compled%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Do a rolling count with scan
:
Observable<Long> trigger = Observable.interval(2000L, TimeUnit.MILLISECONDS);
Observable<Long> stream = trigger
.flatMap(new Function<Long, ObservableSource<String>>()
@Override
public ObservableSource<String> apply(Long aLong) throws Exception
return Observable.just("A", "B", "C"); //completed observable
)
.scan(0L, new BiFunction<Long, String, Long>()
@Override public Long apply(Long a, String b)
return a + 1;
)
;
stream.subscribe(new Consumer<Long>()
@Override
public void accept(Long size) throws Exception
Log.e("Elements: ", size.toString());
);
In this casesize
is amount of every item. I would like to count each time size of this Observable:Observable.just("A", "B", "C")
. In this case it should be always3
.
– MMC
Nov 12 '18 at 10:19
How about applyingcount()
on thosejust
s? "But it no longer compiles" ->flatMapSingle
.
– akarnokd
Nov 12 '18 at 11:29
add a comment |
Do a rolling count with scan
:
Observable<Long> trigger = Observable.interval(2000L, TimeUnit.MILLISECONDS);
Observable<Long> stream = trigger
.flatMap(new Function<Long, ObservableSource<String>>()
@Override
public ObservableSource<String> apply(Long aLong) throws Exception
return Observable.just("A", "B", "C"); //completed observable
)
.scan(0L, new BiFunction<Long, String, Long>()
@Override public Long apply(Long a, String b)
return a + 1;
)
;
stream.subscribe(new Consumer<Long>()
@Override
public void accept(Long size) throws Exception
Log.e("Elements: ", size.toString());
);
In this casesize
is amount of every item. I would like to count each time size of this Observable:Observable.just("A", "B", "C")
. In this case it should be always3
.
– MMC
Nov 12 '18 at 10:19
How about applyingcount()
on thosejust
s? "But it no longer compiles" ->flatMapSingle
.
– akarnokd
Nov 12 '18 at 11:29
add a comment |
Do a rolling count with scan
:
Observable<Long> trigger = Observable.interval(2000L, TimeUnit.MILLISECONDS);
Observable<Long> stream = trigger
.flatMap(new Function<Long, ObservableSource<String>>()
@Override
public ObservableSource<String> apply(Long aLong) throws Exception
return Observable.just("A", "B", "C"); //completed observable
)
.scan(0L, new BiFunction<Long, String, Long>()
@Override public Long apply(Long a, String b)
return a + 1;
)
;
stream.subscribe(new Consumer<Long>()
@Override
public void accept(Long size) throws Exception
Log.e("Elements: ", size.toString());
);
Do a rolling count with scan
:
Observable<Long> trigger = Observable.interval(2000L, TimeUnit.MILLISECONDS);
Observable<Long> stream = trigger
.flatMap(new Function<Long, ObservableSource<String>>()
@Override
public ObservableSource<String> apply(Long aLong) throws Exception
return Observable.just("A", "B", "C"); //completed observable
)
.scan(0L, new BiFunction<Long, String, Long>()
@Override public Long apply(Long a, String b)
return a + 1;
)
;
stream.subscribe(new Consumer<Long>()
@Override
public void accept(Long size) throws Exception
Log.e("Elements: ", size.toString());
);
answered Nov 12 '18 at 10:06
akarnokdakarnokd
49.9k9103151
49.9k9103151
In this casesize
is amount of every item. I would like to count each time size of this Observable:Observable.just("A", "B", "C")
. In this case it should be always3
.
– MMC
Nov 12 '18 at 10:19
How about applyingcount()
on thosejust
s? "But it no longer compiles" ->flatMapSingle
.
– akarnokd
Nov 12 '18 at 11:29
add a comment |
In this casesize
is amount of every item. I would like to count each time size of this Observable:Observable.just("A", "B", "C")
. In this case it should be always3
.
– MMC
Nov 12 '18 at 10:19
How about applyingcount()
on thosejust
s? "But it no longer compiles" ->flatMapSingle
.
– akarnokd
Nov 12 '18 at 11:29
In this case
size
is amount of every item. I would like to count each time size of this Observable: Observable.just("A", "B", "C")
. In this case it should be always 3
.– MMC
Nov 12 '18 at 10:19
In this case
size
is amount of every item. I would like to count each time size of this Observable: Observable.just("A", "B", "C")
. In this case it should be always 3
.– MMC
Nov 12 '18 at 10:19
How about applying
count()
on those just
s? "But it no longer compiles" -> flatMapSingle
.– akarnokd
Nov 12 '18 at 11:29
How about applying
count()
on those just
s? "But it no longer compiles" -> flatMapSingle
.– akarnokd
Nov 12 '18 at 11:29
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53259503%2frxjava-count-when-one-of-two-observable-is-not-compled%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown