Sys.Net.WebRequest の add_completed メソッド
更新 : 2007 年 11 月
Web 要求の完了した要求イベントのハンドラを登録します。
MyWebRequest.add_completed(handler);
引数
用語 |
定義 |
---|---|
handler |
完了した要求イベントを処理するために登録する関数。 |
解説
Web 要求に関連付けられたエグゼキュータは、completed メソッドを呼び出して、完了した要求イベントを発生させます。ハンドラ関数は、関連付けられたエグゼキュータによって実行された処理が終了すると、返されたデータを処理するために呼び出されます。完了とは、正常終了を意味するわけではないことに注意してください。エグゼキュータは、完了、中止、タイムアウトのいずれかの状態で処理を終了します。
登録されたイベント ハンドラ関数は、次の 2 つのパラメータを受け入れる必要があります。
ネットワーク要求を発行したエグゼキュータへの参照。エグゼキュータにアクセスすると、そのステータスを確認し、応答データを取得できます。
完了した要求イベントを発生させたエグゼキュータによって設定される eventArgs パラメータ。既定のエグゼキュータでは、この引数は Sys.EventArgs.empty プロパティ に設定されます。
イベント ハンドラは、responseAvailable、aborted、または timedOut のいずれかのエグゼキュータ プロパティを使用して、エグゼキュータの状態を調べることができます。
responseAvailable が true を返す場合、イベント ハンドラはエグゼキュータに関する他の応答情報にアクセスできます。
使用例
完了イベント ハンドラを追加および削除する方法を次の例に示します。このコードは、WebRequest クラスの概要で説明しているコード例の一部分です。
// This function adds and removes the
// Web request completed event handler.
function WebRequestCompleted()
{
// Instantiate the WebRequest.
var wRequest = new Sys.Net.WebRequest();
// Set the request Url.
wRequest.set_url(getPage);
// Set the web request completed event handler,
// for processing return data.
wRequest.add_completed(OnWebRequestCompleted);
alert("Added Web request completed handler");
// Remove the web request completed event handler.
// Comment the following two lines if you want to
// use the handler.
wRequest.remove_completed(OnWebRequestCompleted);
alert("Removed handler; the Web request return is not processed.");
// Execute the request.
wRequest.invoke();
}