public _Concat(IUniTaskAsyncEnumerable <TSource> first, IUniTaskAsyncEnumerable <TSource> second, CancellationToken cancellationToken) { this.first = first; this.second = second; this.cancellationToken = cancellationToken; this.iteratingState = IteratingState.IteratingFirst; TaskTracker.TrackActiveTask(this, 3); }
public _DefaultIfEmpty(IUniTaskAsyncEnumerable <TSource> source, TSource defaultValue, CancellationToken cancellationToken) { this.source = source; this.defaultValue = defaultValue; this.cancellationToken = cancellationToken; this.iteratingState = IteratingState.Empty; TaskTracker.TrackActiveTask(this, 3); }
async UniTaskVoid RunSecondAfterDisposeAsync() { try { await enumerator.DisposeAsync(); enumerator = null; awaiter = default; iteratingState = IteratingState.IteratingSecond; } catch (Exception ex) { completionSource.TrySetException(ex); } StartIterate(); }