이벤트에서 Observable
을 생성하기 위해이 메서드를 만들었습니다.onCompleted 및 onNext에 도달하지 않았습니다.
private void BuildObservables(WebClient webClient)
{
Observable.FromEventPattern<AsyncCompletedEventHandler, AsyncCompletedEventArgs>(h => webClient.DownloadFileCompleted += h, h => webClient.DownloadFileCompleted -= h)
.Select(ep => ep.EventArgs)
.Subscribe(
_ =>
{
//stuff code
},
_ => this.WizardViewModel.PageCompleted() <<<<< (*) NOT REACHED
);
Observable.FromEventPattern<DownloadProgressChangedEventHandler, DownloadProgressChangedEventArgs>(h => webClient.DownloadProgressChanged += h, h => webClient.DownloadProgressChanged -= h)
.Select(ep => ep.EventArgs)
.Subscribe(
a =>
{
<<<<< (*) NOT REACHED
this.progressEdit.Position = a.ProgressPercentage;
progressEdit.Update();
}
);
}
나는 소스 (onCompleted
및 onNext
)에 표시 (*)
포인트에 도달되지 않도록 위를 향하도록 해요 : 나는 진행률 표시 줄을 파일을 다운로드하고 업데이트 할 것을 시도하고있다.
아이디어가 있으십니까?
'.Take (1)'은 'OnCompleted'를 발생시킵니다. – Enigmativity
사실입니다. 기본 .NET 이벤트에 "완료 중"과 동일한 표현이 없다는 사실은 변하지 않지만 정확히 하나의 이벤트를 찾고 있음을 알게되면 관찰 가능한 체인에서 리소스를 정리하는 데 유용 할 수 있습니다. –