private async void Worker() { for (int i = settings.StartPage; i <= settings.EndPage; i++) { if (!IsActive) { OnComplited?.Invoke(this); return; } var source = await loader.GetSourceByPage(i); var domParser = new HtmlParser(); var document = await domParser.ParseDocumentAsync(source); var result = parser.Parse(document); OnNewData?.Invoke(this, result); } OnComplited?.Invoke(this); isActive = false; }