有没有办法取消Kivy的UrlRequest?
def got_url(req, result):
print(result)
req = UrlRequest('http://httpbin.org/delay/2', got_url) # Request lasts 2 seconds
def my_callback(dt):
print('Request cancelled.')
# sort of req.cancel()
Clock.schedule_once(my_callback, 1) # But some event happens after 1 sec. and I want to cancel request
这只是一个例子:我知道超时,我想取消一些任意事件的请求。
答案 0 :(得分:1)
Afaik除了UrlRequest.timeout
之外别无他法,这可以转化为礼貌地等待并安全关闭任何有害物质。它使用Thread
,可能也可能不危险。甚至更多,例如打包成exe或其他形式的二进制文件,它可以创建一个锁,因为有些东西坏了。我认为你希望它的使用方式只会引发问题。
使用on_*
事件的另一种方式是尽可能小timeout
,这可以触发你的功能。
示例:如果要在这段时间后取消它,请将超时设置为1秒,并让UrlRequest在执行此操作时ping你,这是