5

map() 的 Google AppEngine NDB 文档指出:

“支持所有查询选项关键字参数。”

但是,我尝试使用produces_cursors=Trueonmap()并且没有返回光标。

map(callback, pass_batch_into_callback=None, merge_future=None, **q_options)

我想使用map(),因为我可以将回调设置为 tasklet。

https://developers.google.com/appengine/docs/python/ndb/queryclass#kwdargs_options

编辑 - 提供代码示例:

@ndb.tasklet
def callback(user):
    statistics = yield ndb.Key(Statistics, user.key.id()).get_async()
    raise ndb.Return(user, statistics)

result = User.query().map(callback, produces_cursors=True)
4

1 回答 1

4

这个例子似乎有一个错字——正确的标志是produce_cursors,不是produces_cursors

但是只有在使用迭代器时才可以使用游标,而不是使用map(). 查看异步迭代器示例;这是一些工作,但您绝对可以使用它为每个结果手动创建一个 tasklet。

于 2013-01-04T01:58:11.187 回答