wait method

  1. @override
Future<Operation> wait(
  1. WaitZoneOperationRequest request
)
override

Waits for the specified Operation resource to return as DONE or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method waits for no more than the 2 minutes and then returns the current state of the operation, which might be DONE or still in progress.

This method is called on a best-effort basis. Specifically:

- In uncommon cases, when the server is overloaded, the request might
return before the default deadline is reached, or might return after zero
seconds.
  • If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not DONE.

Throws a http.ClientException if there were problems communicating with the API service. Throws a ServiceException if the API method failed for any reason.

Implementation

@override
Future<Operation> wait(WaitZoneOperationRequest request) async {
  if (isClosed) throw StateError('Service is closed');

  if (_wait case final wait?) {
    return wait(request);
  }
  throw UnsupportedError('wait');
}