主要用途是将逻辑分块,在适合时机将包装好的callback添加到self._callbacks让其执行....具体可以参考gen.coroutine的实现,本文后面也会讲到
他的组成不复杂,只有几个重要的方法,最重要的是 add_done_callback , set_result
tornado用Future...GeneratorType ,yielded = next(result), 运行至原函数的yield位置,返回的是原函数func内部 yield 右边返回的对象(必须是Future或Future的list...Runner初始化过程,调用handle_yield, 查看yielded是否已done了,否则add_future运行Runner的run方法, run方法中如果yielded对象已完成,用对它的gen...):
return
总结
至此,已完成tornado中重要的几个模块的流程,其他模块也是由此而来.写了这么多,越写越卡,就到此为止先吧。