2015-08-24 61 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) 
});