2015-08-24 25 views
0

我正在试验小行星。查询的小行星结果

我的HTML看起来像:

<!DOCTYPE html> 
<html> 
<head> 
    <title>test</title> 

<script src="bower_components/ddp.js/src/ddp.js"></script> 
<script src="bower_components/q/q.js"></script> 
<script src="bower_components/asteroid/dist/asteroid.browser.js"></script> 
</head> 
<body> 

<script type="text/javascript"> 
    var ceres = new Asteroid("localhost:3000"); 
    var tasks = ceres.getCollection("movies"); 
    var _t=tasks._set 
    console.dir(tasks._set._items) // line 15 
    console.dir(tasks.reactiveQuery({}).result) //line 16 

</script> 

</body> 
</html> 

铬控制台使我这个输出

one

为什么我不能访问该查询的结果?

+1

'reactiveQuery'是一个异步调用吗? – tymeJV

+0

当然。这是一个很好的观点。通过使用setTimeout我可以得到结果。非常感谢 – gpasse

+0

您应该真的*正在使用回调......如果通话时间超过了超时时间,会发生什么情况? – tymeJV

回答

1

似乎是reactiveQuery是一个异步调用。根据文档,你可以这样做:

var query = tasks.reactiveQuery({}); 
query.on("change", function() {  
    console.log(query.result) 
});