# AsyncGenerator

`import { AsyncGenerator } from "destack:async";`

Async generator object.

Async generators serialize consumer requests and resolve one request promise per step.

```ds title="AsyncGenerator"
export class AsyncGenerator<Y: Copy, R: Copy = void, N = void> {
    next(value: N | undefined): Promise<GeneratorResult<Y, R>>;
    return(value: R): Promise<GeneratorResult<Y, R>>;
}
```

[language/library/src/async/generator.ds:86:112](https://github.com/destack-sh/destack/blob/main/language/library/src/async/generator.ds#L86-L112)

## Members

### `next(value: N | undefined): Promise<GeneratorResult<Y, R>>`

Queue one generator step with an explicit value.

### `return(value: R): Promise<GeneratorResult<Y, R>>`

Finalize the async generator and return the completion result promise.
