我想懒洋洋地将项目加载到我的HTML中。每个项目都是计算上费力的,所以我只想加载和处理最低限度的必要项目。我认为发电机将是一个很好的解决方案。
简而言之,我有类似
的东西@view_config(renderer='json', xhr=True, route_name='load_more_posts')
def load_more_posts(self):
items = Render.get_items(5)
return items
Render
只是我的班级名称,而get_items
是一种调用我的生成器的next()
方法5
次的方法,每次检索一个新项目并添加到一个列表。现在我有一个列表items
,我只想通过JSON输出它。
我该如何使这项工作?每次我用我的AJAX调用调用这个视图时,生成器都会被“重新实例化”,而我只获得前5个项目。有没有办法让这个生成器在AJAX调用之间保持不变,以便后续调用它会通过它进行并最终耗尽它?
谢谢。
答案 0 :(得分:3)
坚持你的发电机不是一个好主意。它会为您的HTTP应用程序带来状态。
相反,请使用分页。
/posts?page=2