为什么loop写在,fetcher类的外面?
来源:12-4 select+回调+事件循环获取html-2

oracola
2021-10-24
def loop():
#事件循环,不停的请求socket的状态并调用对应的回调函数
#1. select本身是不支持register模式
#2. socket状态变化以后的回调是由程序员完成的
while not stop:
ready = selector.select()
for key, mask in ready:
call_back = key.data
call_back(key)
#回调+事件循环+select(poll\epoll)
这里的loop为什么写在Fetcher外面。
而且调用回调函数时,虽然回调函数是Fetcher类的方法,回调函数也没用Fetcher.回调函数的形式
这么做的原因是?
写回答
1回答
-
bobby
2021-10-25
call_back(key) 这里的call_back就是注册到loop中的函数,也就是featcher中注册的函数到loop中,然后这个函数call_back运行的时候在执行到下一个注册socket事件的时候又会返回loop继续获取下一个
00
相似问题