我在Android应用上使用Retrofit库来对API进行HTTP调用。
我使用Callback
方式访问结果,即在异步模式下运行。
现在,一些Retrofit
来电将取决于之前Retrofit
来电的结果,换句话说,我只能在收到来自{methodB()
的结果时致电methodA()
{1}}。
我考虑过实施一个IntentService
并在那里调用Retrofit方法,但我发现它并不是非常优雅,可以实现我想要的目标。
是否有任何优雅且更好的方法可以使异步调用同步运行?
答案 0 :(得分:3)
我最终在同步模式下使用Retrofit并在IntentService
上执行同步调用。
正如njzk2在评论中指出的另一个解决方案可能是在callback
上调用异步任务,但这会导致嵌套代码,这可能使代码几乎无法读取。
如果你有一个可以随意分享的话,我仍然对比IntentService
和Retrofit
同步模式更好的方法感兴趣。