ふらっと C#,C♯,C#(初心者用) Part124 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0741デフォルトの名無しさん (ワッチョイ d7e2-NoHY)
2016/09/22(木) 16:37:30.73ID:wTxDVkWz0{
TaskCompletionSource<bool> PageLoaded = new TaskCompletionSource<bool>();
webBrowser1.DocumentCompleted += (s, e) =>
{
if (webBrowser1.ReadyState != WebBrowserReadyState.Complete) return;
if (PageLoaded.Task.IsCompleted) return;
PageLoaded.SetResult(true);
};
while (PageLoaded.Task.Status != TaskStatus.RanToCompletion) { await Task.Delay(10) }
}
webbrowser1.navigate(URL)の読み込みを待つ関数なんですが、これはどういう原理で動いてるんですか?
DocumentCompletedのイベントにawaitタスクを挟んで非同期にして処理の終わりを待つんですよね?
でもDocumentCompletedはドキュメントの読み込みの処理の終わりにしか呼ばれないなら
ラムダ内部はSetResult()だけでいいのかと思えば、そうするとエラーでます。
■ このスレッドは過去ログ倉庫に格納されています