递归方法卡在if语句中

时间:2016-06-20 20:39:10

标签: python methods

我坚持使用一个类中的方法,在某些情况下应该递归调用自己。

def request(self, reqs, **kwargs):
    if not self.token:
        self.get_session_token()
    params = {}
    params["token"] = self.token
    for key, value in kwargs.items():
        params[key] = value
    url = "https://" + self.ip + ":" + self.port + "/" + reqs
    req = requests.get(url, params, verify=False)
    if req.json()['ok'] == False:
        self.token = None
        return self.request(reqs, **kwargs)
    else:
        return req

return self.request(reqs, **kwargs)行是代码再次调用该方法的地方。但是,代码只会跳回到包含它的if语句。

我做错了什么?

修改

使用提供此方法的类有代码。该方法每隔几分钟执行一次。如果"令牌"在此期间变为无效,if服务器将返回"ok" == False,因此self.token设置为None,并且应再次调用该方法以请求新令牌 - > self.get_session_token()

0 个答案:

没有答案