如何中止创建的协程实例?我的用例是一个函数,其中包含一个协程并有条件地为其创建一个跟踪任务(以便以后可以gather
对所有这些任务进行跟踪)。
忽略它(而不是await
直接或间接地),但是给出一个RuntimeWarning
。我可以采用抑制此警告的解决方案。
创建任务然后立即取消任务开始执行,取消会导致其他问题,因此不可行。
在创建协程之前检查条件是可行的,但是会损害可维护性,因为在调用此函数之前必须在所有位置进行相同的条件检查。
答案 0 :(得分:1)
使用.close()
方法:
async def foo():
pass
x = foo()
x.close()
程序运行正常,没有警告。