2014-11-08 60 views
3

下面的文档让我看起来像我的代码应该工作,但是我得到一个未定义的错误,我确定它是简单的,但我不能让我的头靠近它。刷新Keen.io图/查询

https://github.com/keen/keen-js/blob/master/docs/visualization.md#automatic-updates

var clicks_keen = new Keen.Query("count", { 
eventCollection: "clicks", 
groupBy: "campaign.id", 
interval: window.interval, 
timeframe: window.timeframe 
}); 

clicks_keen.refresh(); 
+0

“window.interval”和“window.timeframe”定义在哪里?你故意使用全局变量吗? – 2014-11-08 19:25:43

+0

它们被进一步定义。我没有真正的理由使用全局变量,代码只需要清理。但是,即使没有这些变量,只使用标准字符串,问题仍然存在。 refresh()调用似乎是问题,但是他们的文档使得它看起来应该起作用。 – Jake232 2014-11-08 19:30:09

+3

根据他们的文档,如果您先执行'var req = client.run ...'之类的操作,则可以处理thinger,您可以执行'req.refresh()'。我认为这是你的问题。 – 2014-11-08 19:35:00

回答

3

事实证明,bebraw是正确的。您需要将client.run()的结果存储在变量中,并调用该对象的刷新。

您还需要将原始查询保留在变量中,但更新查询的任何实际数据(更改时间范围等)需要该对象。