android– 使用retrofit和rxjava 2.x处理空响应

android– 使用retrofit和rxjava 2.x处理空响应,第1张

概述当使用rxjava1.x时,我习惯返回Observable<Void>处理来自改造的空响应:@POST("login")Observable<Void>getToken(@Header("Authorization")Stringauthorization,@Header("username")Stringus

当使用rxjava 1.x时,我习惯返回Observable< VoID>处理来自改造的空响应:

@POST( "login" )Observable<VoID> getToken( @header( "Authorization" ) String authorization,                                       @header( "username" ) String username,                                       @header( "password" ) String password );

但是因为rxjava 2.x不能用VoID发出任何东西,所以处理那些空响应有什么好的做法吗?

解决方法:

Completable是为这种情况设计的.它可用since RxJava 1.1.1.来自官方文档:

Represents a deferred computation without any value but only indication for completion or exception. The class follows a similar event pattern as Reactive-Streams: onSubscribe (onError|onComplete)?

所以只需更改方法的返回类型:

@POST("login")Completable getToken(@header("Authorization") String authorization,                     @header("username")      String username,                     @header("password")      String password);

并重写您的订阅者,例如:

apimanager.getToken(auth, name, pass)    ...    .subscribe(() -> {        //success    }, exception -> {        //error    });
总结

以上是内存溢出为你收集整理的android – 使用retrofit和rxjava 2.x处理空响应全部内容,希望文章能够帮你解决android – 使用retrofit和rxjava 2.x处理空响应所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1098079.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存