之间有什么区别:

public Observable<List<MessageDb>> getLastXMessages(int x, String userToGetMessagesFrom){
    return MainApplication.getInstance().getRiotXmppService().getRiotConnectionManager().getConnectedUser()
            .flatMap(connectedUser -> {
                QueryBuilder qb =
        ...
        ...
                return Observable.just(qb.list());
            });
}


或这个

public Observable<List<MessageDb>> getLastXMessages(int x, String userToGetMessagesFrom){
    return MainApplication.getInstance().getRiotXmppService().getRiotConnectionManager().getConnectedUser()
            .map(connectedUser -> {
                QueryBuilder qb =
        ...
        ...
                return qb.list();
            });
}


有没有更好的解决方案,或者两者都工作正常。

最佳答案

确保两者都能正常工作。如果您不打算异步处理事务,那么我更喜欢map,因为它比flatMap占用的开销少。看起来您的示例(?)中涉及网络调用,开销可能微不足道。

10-08 02:59