python - 如何中止创建的协程python
问题描述
如何中止创建的协程实例?我的用例是一个接收协程并有条件地为其创建跟踪任务的函数(以便以后可以gather
编辑所有这些任务)。
忽略它(不是await
直接或间接地)有效,但会给出一个RuntimeWarning
. 我可以使用抑制此警告的解决方案。
创建一个任务然后立即取消它会开始执行,而取消会导致其他问题,因此它不可行。
在创建协程之前检查条件是可行的,但会损害可维护性,因为在调用此函数之前,必须在所有位置进行相同的条件检查。
解决方案
使用.close()
方法:
async def foo():
pass
x = foo()
x.close()
程序完成正常,没有警告。
推荐阅读
- c# - Ancient Manipulator 的 Tile ID 是什么?(TModLoader)
- javascript - 加载随机 html 页面 Express.js
- javascript - Vue继续成功回调
- android-emulator - “显示 Taps”选项在 LDPlayer 上不起作用?
- php - 使用 PHP 解析非标准 xml
- javascript - 创建目录中所有页面的链接列表
- python - 进程在 Tkinter HtmlFrame 中以退出代码 -1073741819 (0xC0000005) 完成
- python - 无法安装 pip,无法获取 virtalenv
- r - 使用 4 个坐标作为输入创建带有 geom_mark_rect 的阴影矩形?
- arrays - 在 Flutter 中的数组内搜索