gpt4 book ai didi

java - 如何在 if block 内重构 Single/Observable 的公共(public)映射

转载 作者:行者123 更新时间:2023-11-30 10:14:49 25 4
gpt4 key购买 nike

如何重构这段代码?如果我将 .map() 移出 flatMapSingle,我将丢失 id

Observable.fromArray(1, 2, 3)
.flatMapSingle(id -> {
if (id % 2 == 0)
{
return loadObjectSingle(id)
.map(object -> Entry(id, object));
}
else
{
return loadFakeObjectSingle(id)
.map(object -> Entry(id, object));
}
})

最佳答案

只需分配单次,这样您就只做一次映射。

Observable
.fromArray(1, 2, 3)
.flatMapSingle(id -> {
Single<T> single;
if (id % 2 == 0) {
single = loadObjectSingle(id);
} else {
single = loadFakeObjectSingle(id);
}
return single.map(object -> Entry(id, object));
});

关于java - 如何在 if block 内重构 Single/Observable 的公共(public)映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50760819/

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