# IAsyncObserver&lt;T&gt;

Package: [Microsoft.Orleans.Streaming](/orleans/docs/api/csharp/microsoft.orleans.streaming/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Streaming) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Core/IAsyncObserver.cs#L14)

```csharp
public interface IAsyncObserver<T>
```

This interface generalizes the standard .NET IObserver interface to allow asynchronous production of items. 

Note that this interface is implemented by item consumers and invoked (used) by item producers. This means that the consumer endpoint of a stream implements this interface.

## Type parameters

- `T`: The type of object consumed by the observer.

## Methods

- [OnCompletedAsync](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.iasyncobserver-1/methods/oncompletedasync-20fd43e6/)
- [OnErrorAsync(Exception)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.iasyncobserver-1/methods/onerrorasync-system-exception-c3c980e8/)
- [OnNextAsync(T, StreamSequenceToken?)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.iasyncobserver-1/methods/onnextasync-t-orleans-streams-streamsequencetoken-nullable-45b9c0cc/)
