python语言之await和yield from的对比

await和yield from对比
不同点:yield from 后面的值,要么是生成器,要么是最终为可迭代对象,而await后面只能跟async开头的方法
相同点: 都是产出结果,让出控制权,等待返回结果
例子说明
分别用await和yield from实现了等待协程完成的过程
async def req1_sub(param):
return param+10
async def req1(param):
res = await req1_sub(param)
res += 100
return res
def req2_sub(param):
res = yield param+10
return res
def req2(param):
res = yield from req2_sub(param)
res += 100
return res
def print_value(f, args):
try:
b = f.send(args)
except stopiteration as e:
print(f'{f.__name__}返回值 {e.value}')
return e.value
else:
print(f'{f.__name__}接收 {b}')
return b
g1 = req1(1)
print_value(g1, none)
g2 = req2(2)
res = print_value(g2, none)
print_value(g2, res)
'''
结果:
req1返回值 111
req2接收 12
req2返回值 112
'''


锂电池Gas-gauge电量计CW2013CSAD
基于通过阈值预判方法进行宏块选择
GD32MCU最小系统构成条件
iPhone7有什么新功能 最大亮点新增快速充电功能
新基建加速 阿里云三座超级数据中心正式落成陆续开服
python语言之await和yield from的对比
BUCK电路工作在CCM模式的条件是什么?
光电信号传输技术的应用分析
SMT贴片厂如何选择锡膏?
疫情当前 服务机器人爆发出前所未有的战斗力
iPhone8什么时候上市?iphone8最新消息:iphone8功能,配置曝光,iPhone8曝出辨识度全无,还怎么拿出去装?
PCB中的常见名词解析!
“G往开来,为AI出行”——长城汽车告别传统功能车时代
什么是单相隔离的变压器?变压器漏油该如何处理?
应用引领,创新驱动|国民技术车规级芯片助力汽车智能安全升级
通信协议IIC与SPI之间有何区别?
没有小基站,5G就活不了?
中控智慧科技指纹识别考勤机U160介绍
从嫦娥一号到嫦娥四号的光辉历程
GitHub无故封禁开源项目引网友不满 都是开源代码受管制惹的祸?