Interface de chamada - Android
A interface Chamada representa uma solicitação que está preparada para processamento.
As possíveis opções de processamento incluem:
- Cancelar
- enfileirar
- execute
- mapa
Um objeto de chamada não pode ser processado duas vezes.
| Nome | Tipo | Descrição |
|---|---|---|
| solicitação | Solicitação | Solicitação original que iniciou esta chamada. |
Chamada - cancel()
Cancela a chamada associada, se possível (melhor esforço).
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar esta função.
private var inFlightDataRequestCall: Call<*>? = null
fun cancelTransfer() = inFlightDataRequestCall?.cancel()
Chamada - enqueue(onSuccess: consumidor <Response<T> >, onError: consumidor<NowDataError> )
Programa a solicitação a ser executada assim que o thread\sistema estiver disponível para executar esta solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| onSuccess | Consumidor<Response<T> > | Retorno de chamada a ser executado se a chamada for bem-sucedida. Resposta HTTP com o corpo analisado para o tipo de dados especificado pelo parâmetro T. Nota: Consumidor é um tipo Java OOB para consumo assíncrono de um objeto. Nesse caso, a chamada usa genérico para retornar um tipo de resposta <T> em que T é o tipo de objeto. |
| em caso de erro | Consumidor<NowDataError> | Retorno de chamada a ser executado se a chamada falhar. NowDataError |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar esta função.
fun makeGraphQLRequest(query: String) {
val call = graphQLService.graphQLRequest(query)
call.enqueue(
{ response -> handleResponse(response) },
{ nowDataError -> handleError(nowDataError) }
)
}
Chamar - execute()
Invoca a solicitação imediatamente. Bloqueia até que a resposta seja processada ou esteja com erro.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Resposta<T> | Dados de resposta no formato definido no parâmetro T. |
O exemplo de código a seguir mostra como chamar esta função.
val response = apiService.data(NowAPIService.Endpoint(
relativePath = CASES_API,
requestMethod = HttpMethod.GET,
requireAuth = true)
).execute()