0
我是MeteorJS的全新新手,只是看着演示和瞎猜。這可能是我錯過了一些非常基本的東西。 我正在使用角流 - 路由器的流星。如果我以加載數據到控制器的狀態開始,由於DDP尚未初始化,我遇到了問題。這是類似於路由配置的Meteor: How can I tell when the database is ready?MeteorJS連接延遲問題
相關部分被描述:
resolve: {
location: ($stateParams) => {
console.log('find', $stateParams);
let handle = setInterval(function() {
console.log(Meteor.status().connected, Meteor.status().status);
console.log(!!Locations.findOne({code: $stateParams.code}) ? 'found' : 'not found');
}, 100);
setTimeout(function() {
clearInterval(handle);
}, 2000);
console.log(Meteor.status().connected, Meteor.status().status);
return Locations.findOne({code: $stateParams.code});
}
}
和輸出
false "connecting"
false "connecting"
not found
true "connected"
not found
true "connected"
not found
true "connected"
found
true "connected"
found
我的問題是: 做我正確理解,這裏的問題是事情按預期工作,它們必須按以下順序發生:
- 網絡套接字連接發起
- 網絡套接字連接就可以使用
- minimongo刷新
- collection.findOne
和4。3之前運行? 如果是這樣,建議的解決方法是什麼?
交叉發佈:https://github.com/meteor/meteor/issues/9127
你似乎含蓄地確認我所要求的東西,但你能否明確地做? 是否有一種異步方法可以完成相同的操作mySub.onReady(回調)? – ilj