using<T, E extends IDisposable> function

FutureOr<T> using<T, E extends IDisposable>(
  1. E disposable,
  2. FutureOr<T> delegate(
    1. E instance
    )
)

A convenience method to execute a function and dispose the given IDisposable object.

Implementation

FutureOr<T> using<T, E extends IDisposable>(
  E disposable,
  FutureOr<T> Function(E instance) delegate,
) async {
  try {
    return delegate(disposable);
  } finally {
    disposable.dispose();
  }
}