Interface de chamada - Android
. Chamada a interface representa uma solicitação 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. |
Cancelar ()
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()
Enfileirar(onSuccess: Consumer<Response<T>>, onError: Consumer<NowDataError>)
Programa a solicitação a ser executada assim que o sistema/thread 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 Tparâmetro. Nota: O consumidor é um tipo Java OOB para consumo assíncrono de um objeto. Nesse caso, a chamada usa genérico para retornar um tipo <T> onde T é o tipo de objeto. |
| EmErro | 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) }
)
}
Executar ()
Invoca a solicitação imediatamente. Bloqueia até que a resposta seja processada ou esteja em erro.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| <T> | Dados de resposta no formato definido em Tparâmetro. |
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()