4.3. future の変更点
本セクションでは、future の変更点を説明します。
4.3.1. future の複数のハンドラーのサポート リンクのコピーリンクがクリップボードにコピーされました!
Eclipse Vert.x 4 以降では、future で複数のハンドラーがサポートされます。1 つのハンドラーを設定するために使用される Future<T>.setHandler() メソッドが削除されています。代わりに、Future<T>.onComplete() メソッド、Future<T>.onSuccess() メソッド、および Future<T>.onFailure() メソッドを使用して、それぞれアクションの完了、成功、および失敗の結果でハンドラーを呼び出します。
以下の例は、Eclipse Vert.x 3.x リリースでハンドラーを呼び出す方法を示しています。
Future<String> fut = getSomeFuture();
fut.setHandler(ar -> ...);
以下の例は、Eclipse Vert.x 4 で新しい Future<T>.onComplete() メソッドを呼び出す方法を示しています。
Future<String> fut = getSomeFuture();
fut.onComplete(ar -> ...);
4.3.2. future の completer() メソッドを削除 リンクのコピーリンクがクリップボードにコピーされました!
以前のリリースの Eclipse Vert.x では、Future.completer() メソッドを使用して、Future と関連付けられていた Handler<AsyncResult<T>> にアクセスします。
Eclipse Vert.x 4 では、Future<T>.completer() メソッドが削除されました。Future<T> は、Handler<AsyncResult<T>> を直接拡張します。Future オブジェクトを使用してすべてのハンドラーメソッドにアクセスできます。Future オブジェクトはハンドラーでもあります。
4.3.3. HTTP クライアント要求の接続ハンドラーメソッドを削除 リンクのコピーリンクがクリップボードにコピーされました!
HttpClientRequest.connectionHandler() メソッドが削除されました。代わりに HttpClient.connectionHandler() メソッドを使用して、アプリケーションのクライアントリクエストの接続ハンドラーを呼び出します。
以下の例は、HttpClientRequest.connectionHandler() メソッドが Eclipse Vert.x 3.x リリースでどのように使用されたかを示しています。
client.request().connectionHandler(conn -> {
// Connection related code
}).end();
以下の例は、Eclipse Vert.x 4 で新しい HttpClient.connectionHandler() メソッドを使用する方法を示しています。
client.connectionHandler(conn -> {
// Connection related code
});