Example #1
0
        public static async void Enumerate <T>(IPixivAsyncEnumerable <T> pixivIterator, IList <T> container, int limit = -1)
        {
            EnumeratingSchedule.StartNewInstance(pixivIterator);
            var enumerator = EnumeratingSchedule.GetCurrentEnumerator <T>();

            await foreach (var illust in enumerator)
            {
                if (enumerator.IsCancellationRequested() || limit != -1 && pixivIterator.RequestedPages > limit)
                {
                    break;
                }
                if (pixivIterator.VerifyRationality(illust, container))
                {
                    pixivIterator.InsertionPolicy(illust, container);
                }
            }
        }