gpt4 book ai didi

android - 改造中的调用或响应?

转载 作者:行者123 更新时间:2023-12-03 23:26:33 24 4
gpt4 key购买 nike

我想知道 Call 和 Response 之间的区别?那什么时候用调用 & 何时使用 回复 在改造?

@GET("/albums/{id}")
suspend fun functionOne(@Path(value = "id") albumsId:Int):Response<Albums>
@GET("/albums/{id}")
suspend fun functionTwo(@Path(value = "id") albumsId:Int):Call<Albums>
这两个功能对我来说都很好,它们都有不同的实现,但用途几乎相同。
1. 哪种响应类型有利于最佳实践?
2. 什么时候使用 Response & Call ?

最佳答案

当我们愿意使用它的入队回调函数时,“调用”很有用。

 call.enqueue(new Callback<Info>() {
@Override
public void onResponse(Call<Info> call, Response<Info> response) {

Info info = response.body();

if (info != null && info.getRestResponse() != null) {

results = (ArrayList<Result>) info.getRestResponse().getResult();
viewData();
}
}

@Override
public void onFailure(Call<Info> call, Throwable t) {

}
});
当我们在项目中使用 Coroutines 或 RxJava(这是最好的专业实践)提供异步执行时,我们不需要入队回调。我们可以只使用响应。
suspend fun getMoviesFromAPI(): List<Movie> {
lateinit var movieList: List<Movie>
try {
val response = movieRemoteDatasource.getMovies()
val body = response.body()
if(body!=null){
movieList = body.movies
}
} catch (exception: Exception) {
Log.i("MyTag", exception.message.toString())
}
return movieList
}

关于android - 改造中的调用或响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64124670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com