Aufrufschnittstelle – Android
Die Schnittstelle Aufruf stellt eine Anforderung dar, die zur Verarbeitung vorbereitet wird.
Mögliche Verarbeitungsoptionen:
- abbrechen
- Warteschlange
- ausführen
- Zuordnen
Ein Aufrufobjekt kann nicht zweimal verarbeitet werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Anforderung | Anforderung | Ursprüngliche Anforderung, die diesen Anruf initiiert hat. |
Anruf – cancel()
Bricht den zugeordneten Anruf ab, wenn möglich (Best Effort).
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
private var inFlightDataRequestCall: Call<*>? = null
fun cancelTransfer() = inFlightDataRequestCall?.cancel()
Aufruf – enqueue(onSuccess: Consumer <Response<T> >, onError: Verbraucher<NowDataError> )
Plant die Ausführung der Anforderung, sobald der System-Thread zur Ausführung dieser Anforderung verfügbar ist.
| Name | Typ | Beschreibung |
|---|---|---|
| onSuccess | Verbraucher<Response<T> > | Auszuführender Rückruf, wenn der Aufruf erfolgreich ist. HTTP-Antwort, bei der der Text mit dem Datentyp analysiert wird, der durch den Parameter T angegeben ist. Hinweis: Consumer ist ein OOB-Java-Typ für den asynchronen Verbrauch eines Objekts. In diesem Fall verwendet der Aufruf generische, um einen Typ Response zurückzugeben<T> wobei T der Objekttyp ist. |
| onError | Verbraucher<NowDataError> | Auszuführender Rückruf, wenn der Aufruf fehlschlägt. NowDataError |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
fun makeGraphQLRequest(query: String) {
val call = graphQLService.graphQLRequest(query)
call.enqueue(
{ response -> handleResponse(response) },
{ nowDataError -> handleError(nowDataError) }
)
}
Aufruf – execute()
Ruft die Anforderung sofort auf. Blockiert, bis die Antwort verarbeitet wird oder fehlerhaft ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Antwort<T> | Antwortdaten in dem im Parameter T definierten Format. |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
val response = apiService.data(NowAPIService.Endpoint(
relativePath = CASES_API,
requestMethod = HttpMethod.GET,
requireAuth = true)
).execute()