awaitSuccess

If the upload has not succeeded, this function will suspend until the upload completes and return the result

If the upload had failed, it will be restarted and this function will suspend until it completes

If the upload already succeeded, the old result will be returned immediately