コールインターフェイス - Android
Call インターフェイスは、処理用に準備された要求を表します。
可能な処理オプションは次のとおりです。
- キャンセル
- エンキュー
- execute
- マップ
呼び出しオブジェクトを 2 回処理することはできません。
| 名前 | タイプ | 説明 |
|---|---|---|
| リクエスト | 要求 | このコールを開始した元の要求。 |
Call - cancel()
可能であれば、関連付けられたコールをキャンセルします (ベストエフォート)。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
private var inFlightDataRequestCall: Call<*>? = null
fun cancelTransfer() = inFlightDataRequestCall?.cancel()
Call - enqueue(onSuccess: Consumer<Response<T>>, onError: Consumer<NowDataError>)
システム\スレッドがこの要求を実行できるようになるとすぐに要求が実行されるようにスケジュールします。
| 名前 | タイプ | 説明 |
|---|---|---|
| 成功時 | Consumer<Response<T>> | 呼び出しが成功した場合に実行するコールバック。パラメーターで指定されたデータタイプに解析された本文を含む T HTTP 応答。 注: コンシューマーは、オブジェクトの非同期消費のための OOB Java タイプです。この場合、呼び出しはジェネリックを使用して、 Response<T> 型 ( T はオブジェクト型) を返します。 |
| Onerror | Consumer<NowDataError> | コールが失敗した場合に実行するコールバック。 NowDataError |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
fun makeGraphQLRequest(query: String) {
val call = graphQLService.graphQLRequest(query)
call.enqueue(
{ response -> handleResponse(response) },
{ nowDataError -> handleError(nowDataError) }
)
}
呼び出し:execute()
要求をすぐに呼び出します。応答が処理されるかエラーになるまでブロックします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 応答<T> | パラメーターで T 定義された形式の応答データ。 |
次のコード例は、この関数を呼び出す方法を示しています。
val response = apiService.data(NowAPIService.Endpoint(
relativePath = CASES_API,
requestMethod = HttpMethod.GET,
requireAuth = true)
).execute()