withEngine<T> method

Future<T> withEngine<T>(
  1. FutureOr<T> fn(
    1. JavascriptRuntime runtime
    ), {
  2. Duration? acquireTimeout,
})

Run fn with a borrowed engine, always releasing afterward.

Implementation

Future<T> withEngine<T>(
  FutureOr<T> Function(JavascriptRuntime runtime) fn, {
  Duration? acquireTimeout,
}) async {
  final eng = await acquire(timeout: acquireTimeout);
  try {
    return await fn(eng);
  } finally {
    release(eng);
  }
}