英语不好真是太麻烦了。还是没明白reader, writer = yield from connect
Topic source个人理解是
在reader, writer = yield from connect
这里,当前执行程序(sina)跳出,直接执行下一个线程即(sina),同样在遇到yield
后再执行下一个(163)
当connect
这个coroutine
执行完毕后,会返回None
也就是send(None)
或者__next__()
随后继续执行(sina)接下来命令
yield from connect 相当于 for writer, reader in connect: yield writer, reader connect 返回了两个参数,所以这里应该是参数解包
def xf(): yield 1,'a'; yield 2,'b'; yield 3,'c'; yield 4,'d';
def fr(): yield from xf();
for x,y in fr(): print(x,y);
在我理解看来yield from就是挂起执行,这个reader和writer都是connect的返回值,也就是说,挂着去执行connet这个方法(即连接上面的网址),这边等待中,然后去执行其他的逻辑了,等这里connet成功会返回reader和writer继续执行
- 1
梦炸
有没有大神总结下yield from的用法啊,reader,writer是reader=.send(writer)的作用吗?