我试图运行一个UrlRequest,而Kivy似乎不想返回。它一直挂起,直到我强制退出应用程序。我可以通过Rested运行相同的查询,并且可以验证URL/头是否正确
我是新来的Mac OS,它被防火墙阻止了吗?有日志我可以查吗
代码
server_headers = {'Authorization': 'Bearer ' + str(self.hass_server_token), 'content-type': 'application/json'}
request = UrlRequest(str(self.hass_server_url) + ':' + str(self.hass_server_port) + '/api/states', req_headers= server_headers, verify=False)
while not request.is_finished:
Clock.tick()
self.hass_all_states = request.result
谢谢
默认情况下,Kivy的
UrlRequest
是线程化的。这意味着您需要为请求成功完成时指定回调函数。它在后台运行,因此它不会阻止应用程序正在执行的任何其他操作,这就是为什么您必须在UrlRequest
调用中指定回调函数,以便它知道在执行时要做什么。为此,请将回调函数的名称传递给on_success
中的UrlRequest
参数。类似地,可以为on_error
和on_failure
指定回调函数示例:
随后在代码中:
(您不需要像以前那样为
UrlRequest
赋值变量)相关问题 更多 >
编程相关推荐