액티비티에서 이런식으로 fail이 나면 error까지 떨어지는건 확인했는데요
lifecycleScope.launch {
testViewModel.getTestViewModel().collect { response ->
coroutineApiCallBack.handleApiResponse("8024", response.execute(), {
}) { status, errorMsg ->
}
}
}
기존에는 코루틴 없이 baseActivity에서
@Override
public void onFailure(Throwable t, EveryfitApi.ErrorStatus status, String message, Call<ResponseBody> call, Callback<ResponseBody> responseBodyCallback) {
DismissProgress();
ErrorProcess(status, message, call, responseBodyCallback, true);
}
이렇게 CallBack<ResponseBody>값을 ErrorProcess에 넘겨줘서
if (response.getCall() != null && response.getResponseBodyCallback() != null) {
response.getCall().clone().enqueue(response.getResponseBodyCallback());
}
이렇게 api를 재호출하는 구조였는데 코루틴에는 callback이 없는데.. 이거는 어떻게 대체 해야되나요?
sandwich 라이브러리를 쓰는 방법도 있겠지만 직접 구현을 한다면 어떻게 해야되나요?
이렇게 api를 재호출하려는 이유는 데이터, 와이파이를 끈상태일때 경우입니다