试图理解为什么创造和操纵期货是一种不好的做法

5 python async-await

我试图通过阅读PyMotW指南来理解 Python 中的期货。

我昨天问了一个问题,在评论中说:

该指南的一个更严重的问题是,在现代异步编程中,创建和操作原始期货被认为是糟糕的风格。

我尝试搜索更多信息,但我找到的最接近的是关于 FuturePython 指南

经验法则是永远不要在面向用户的 API 中公开 Future 对象,推荐的创建 Future 对象的方法是调用 loop.create_future()。通过这种方式,替代事件循环实现可以注入自己优化的 Future 对象实现。

题:

为什么创造和操纵期货被认为是不好的做法?原因是否记录在某处?

小智 2

感谢 @user4815162342,提供了 Yury Selivanov 的 async/await演示文稿的链接。

我设法伸手询问他。这是他所说的。

警告之所以存在,是因为 Future 是一个低级 API。您应该使用它围绕现有的基于回调的代码构建异步/等待外观。但是,如果您从头开始编写 async/await 代码,asyncio 中有更高级别的内置 async/await API,它们更易于使用(并且不易出错)。