未调用改造排队方法



我正在进行异步调用,并且无法向服务器发送请求并获取我想要的JSON(使用邮递员(,但由于某种原因,OnResponse 和 OnFailure 方法没有被执行,如果我错过了什么,请您帮助我。我正在使用改造2

private List<Advert> getAdverts(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl( "http://192.168.100.4:8092/portal/")
.client(client.build())
.addConverterFactory(GsonConverterFactory.create())
.build();
RequestService requestService = retrofit.create(RequestService.class);
Call<List<Advert>> customerCall= requestService.getAdverts(accountNumber);
System.out.println("++++++++++++++ request was made +++++++++++++++++++");

customerCall.enqueue(new Callback<List<Advert>>() {
@Override
public void onResponse(Call<List<Advert>> call, Response<List<Advert>> response) {
Log.d("onResponse", "" + response.message());
System.out.println("++++++++++++++ was here+++++++++++++++++++");
if (response.isSuccessful()) {
adverts.addAll(response.body());
} else {
Toast.makeText(getContext(), "" + response.message(), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<List<Advert>> call, Throwable t) {
Log.d("onFailure", t.toString());
}
});
return adverts;
}

不确定,但您将在 de 操作结束之前返回(正如您提到的是异步调用(。因此,一旦您排队,您就会返回"广告"(可能会取消您的通话(。

考虑使用其他替代方法来返回响应,例如回调、事件总线、将响应持久化到本地存储等。

最新更新