0
我是RxJava的新手,我有一個當前使用Spring異步的項目,試圖將它重構爲RxJava的方式,不知道什麼是優雅的方式。重構Spring異步到RxJava的方式
我們有一個類UserService,然後執行繁重的工作
@Async
public class UserService {
public Future<User> fetchUsers(String space, String username) {
// some other thing
...
// call network APIs to fetch users for a space
return new AsyncResult<>(clientOf.fetechUsers(space, username));
}
}
在來電者:
List<Future<User>> users = new ArrayList<>();
String username = "alice";
for(String space : Arrays.asList("SPACE1", "SPACE2")) {
users.add(userService.fetchUsers(space, username));
}
List<User> resultUsers = new ArrayList<>();
for(Future<User> user: users) {
resultUsers.add(user.get());
}
return resultUsers;
在來電,我們要調用userService兩個並聯空間,然後合併結果,我應該如何用RxJava完成它?我看到了Tread的一些例子,我必須自己管理Tread嗎?還是有一種完美的方式來完成工作?