Ahmed Sellami
suspend fun <T> wrapNetworkCall(call: () -> T) : NetworkResult<T> { return try { NetworkResult.Success(call()) } catch (e: HttpException) { if (e.code() == 400) NetworkResult.BadRequestError(e) else NetworkResult.Error(e) } }
coroutineScope.launch { val result = wrapNetworkCall { Api.retrofitService.getCurrent() // Suspension functions can be called only within coroutine body } }
Ciaran Sloan
wrapNetworkCall(call: suspend () -> T) : NetworkResult<T> {
Javier
inline suspend fun <T> wrapNetworkCall(call: () -> T) : NetworkResult<T> { return try { NetworkResult.Success(call()) } catch (e: HttpException) { if (e.code() == 400) NetworkResult.BadRequestError(e) else NetworkResult.Error(e) } }
Robert Williams
A modern programming language that makes developers happier.