首先,我像这样运行代码,重试工作正常。在# -*- coding:utf-8 -*-
from retrying import retry
import asyncio
import time
num = 0;
def retry_if_result_none(result):
return result is None
@retry(retry_on_result=retry_if_result_none)
def get_result():
global num;
num += 1;
if num < 10:
print('Retry.....');
return None;
else:
return True;
time.sleep(1);
def call():
end = get_result();
if end:
print('ok');
else:
print('over')
if __name__ == '__main__':
call();
Output:
Retry.....
Retry.....
Retry.....
Retry.....
Retry.....
Retry.....
Retry.....
Retry.....
Retry.....
ok
第二,我像那样编辑代码,并再次运行,但收到的结果不同。在
^{pr2}$
如图所示,重试在第二个代码中不起作用。不同的是我把call()放在循环运行直到完成方法,如何解决这个问题?在