gpt4 book ai didi

java - 来自具有异步等待回调的列表的 RxJava

转载 作者:行者123 更新时间:2023-12-02 12:56:23 25 4
gpt4 key购买 nike

List<String> listExample = Arrays.asList("one", "two", "three");

想想我有字符串列表,并使用RxJava ( Observable.fromArray )

Observable.fromArray(ids.toArray(new String[ids.size()])).subscribe(new Consumer<String>() {
@Override
public void accept(@NonNull String s) throws Exception {

}
});

这里认为每个字符串都有一个异步回调,一旦我收到该回调,它应该移动到下一个字符串。可以使用rxjava吗?

这是我当前拥有的代码,它不会等到回调正确!

for (String id : ids) {
getMessage(id, new urlGenCallback() {
@Override
public void urlAndToken(String url, String token, String idx) {

}
});
}

谢谢你@Geoffrey Marizy

答案:Check Below有关 ConcatMap 的更多信息 Visit Here

最佳答案

您正在寻找concatMap运算符(operator)。关于此主题的完整文章:https://fernandocejas.com/2015/01/11/rxjava-observable-tranformation-concatmap-vs-flatmap/

将您的请求包装为 Observable,然后将其作为参数传递给 concatMap :

Observable.fromArray(ids.toArray(new String[ids.size()])).concatMap(/* your request returning an Observable */)

关于java - 来自具有异步等待回调的列表的 RxJava,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44410944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com