如何使用RxJava包装登录函数

问题描述 投票:0回答:1

以下是我正在使用的代码。

public interface LoginCallback {

    void onSuccess();

    void onFailed();
}

//asynchronous function
public void login(LoginCallback callback) {
    …
} 

如何使用rxJava包装登录函数,如下所示 -

public Single<Boolean> login() {
    //login(new LoginCallback...)
    return Single.xxxxx;
}

在此先感谢您的帮助。

rx-java2
1个回答
1
投票

你可能想要像Single.fromCallable(()-> login(new LoginCallback...));这样的东西

您还可以在登录功能中使用某种类型的结果

Single.create(new SingleOnSubscribe<Boolean>() {
            @Override
            public void subscribe(SingleEmitter<Boolean> e) throws Exception {
                LoginResult loginResult = login();
                if(loginResult.success())
                    e.onSuccess(true);
                else
                    e.onError(new LoginFailedException());
            }
        });
© www.soinside.com 2019 - 2024. All rights reserved.