Имейте в виду , что если значение ответа изменяется при проверке в условии while
, оно также останавливает итерацию, поэтому оператор if внутри while не нужен.
Примечание: объект ответа должен иметь возможность изменить свое значение, иначе он всегда будет таким же, как просто переменная, а не функция, которая проверяет ответ
Вы можетедобавить простой оператор if
со значением времени
def waitForResourceAvailable(response, time):
timer = 0
while response.status_code == 204:
time.sleep(10)
timer += 10
if timer > time:
break
if response.status_code == 200:
break
Сделать его еще лучше можно было бы следующим образом:
def waitForResourceAvailable(response, timeout, timewait):
timer = 0
while response.status_code == 204:
time.sleep(timewait)
timer += timewait
if timer > timeout:
break
if response.status_code == 200:
break