async next()

in sdk/server-proxies/src/utils.ts [106:132]


  async next(): Promise<IteratorResult<T>> {
    if (this.errorToThrow) {
      throw this.errorToThrow;
    }

    if (this.items.length > 0) {
      let item = this.items.shift()!;
      return { value: item, done: false };
    } else if (this.isClosed) {
      return { done: true, value: undefined as any };
    } else {
      await new Promise<void>((resolve) => {
        this.resolveCurrent = resolve;
      });

      if (this.errorToThrow) {
        throw this.errorToThrow;
      }

      if (this.items.length > 0) {
        let item = this.items.shift()!;
        return { value: item, done: false };
      } else {
        return { done: true, value: undefined as any };
      }
    }
  }