假设我有一个页面显示来自 mongodb 集合的记录:
var item = Items.findOne({name: documentName});
Session.set('item', item);
当集合准备好并找到结果时,这将使用该项目更新我的模板。现在我可以假设当 Session.get('item') 未定义时,数据正在加载并向用户显示加载图形或消息。但是,如果文档不存在,我不想无限期地向用户显示加载消息,我宁愿显示“未找到”消息。如果记录根本不存在,我如何确定并通知用户?
我想过:
- 将项目会话变量设置为“已加载”
- 在具有该值时显示加载消息
- 然后在集合返回未定义或文档时显示项目或“未找到”消息。
但是,这不起作用,因为查询将立即返回 undefined 直到集合可用,然后如果查询完成并且值仍然未定义,则没有任何更改并且会话变量不会更新。
我觉得我错过了一些就在我面前的把戏!有人有什么想法吗?