注意:在未来的几个月内,我们将会重新整理 App Engine 文档网站,使得查找内容更轻松,并更好地与其他 Google Cloud 产品保持一致。将会提供相同的内容,但导航现在将与其余的 Cloud 产品相一致。
Python 2 不再受社区支持。我们建议您
将 Python 2 应用迁移到 Python 3。
NDB Future 类
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Future
表示异步操作的结果。创建时,它可能没有任何结果数据。操作完成后,Future
将获得结果。应用可以调用 Future
对象的 get_result()
方法;如果结果已到达,则该方法会返回结果;否则,该方法会等待结果到达然后返回结果。
注意:RPC 和 Future 之间没有一一对应的映射关系。可能有多个 future 与来自同一个 RPC 的结果相关联。
实例方法
- check_success()
- 检查操作是否成功完成。 在必要时等待。如果出现问题,会引发异常;如果没有问题,则返回
None
- done()
- 如果结果(或异常)已到达,则返回
True
;否则,返回 False
。此函数不会等待。 - get_exception()
- 必要时等待;然后返回异常(如果没有异常则返回
None
)。此方法只返回异常,而不引发异常。 - get_result()
- 必要时等待;然后返回结果或引发异常。
- get_traceback()
- 必要时等待;然后返回异常的 traceback 对象(如果没有 traceback 对象,则返回
None
)。Python 的
traceback
模块中含有输出和处理 traceback 对象的函数。 - wait()
- 等待结果或异常到达。始终返回
None
。
类方法
- wait_all(futures)
- 等到传递的可迭代对象中的所有
Futures
完成。参数
- futures
Future
对象的可迭代对象。
返回 None
。
- wait_any(futures)
- 等到至少有一个
Futures
的可迭代对象完成。参数
- futures
Future
对象的可迭代对象。
返回一个已完成的 Future
。
(如果 futures
可迭代对象为空,则返回 None
。)
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2022-04-17。
[{
"type": "thumb-down",
"id": "hardToUnderstand",
"label":"Hard to understand"
},{
"type": "thumb-down",
"id": "incorrectInformationOrSampleCode",
"label":"Incorrect information or sample code"
},{
"type": "thumb-down",
"id": "missingTheInformationSamplesINeed",
"label":"Missing the information/samples I need"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]