wait method
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 differs from the
GET method in that it waits for no more than the default
deadline (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(WaitGlobalOperationRequest request) async {
if (isClosed) throw StateError('Service is closed');
if (_wait case final wait?) {
return wait(request);
}
throw UnsupportedError('wait');
}