meteor サーバーとリモート mongodb インスタンスの間の接続が遅いようです。サーバーがmongoへの接続を確立するまで、クライアント側で何らかの形で待機し、サブスクリプションを登録しないことはできますか?
質問する
1010 次
2 に答える
2
これを行う最も信頼できる方法は、Meteor.call呼び出しを使用することです。これを同期呼び出し(コールバックなし)として行う場合、クライアントは呼び出しが完了するまで待機します。非同期で行う方法は次のとおりです。
Meteor.call('isEverythingReady', param1,
function(error, result) {
if (error === undefined) {
Meteor.subscribe("mystuff");
Session.set("sess1", "whatever");
} else {
alert("There was an error during startup.");
}
});
その後
if (Meteor.isServer) {
Meteor.methods( {
isEverythingReady: function(param1) {
// can you connect to database?
return true;
}
}
}
于 2012-12-06T11:09:57.490 に答える
2
これを行う原始的な方法の 1 つは、Meteor.autorun を使用して Meteor.userId() の変更をリッスンすることです。これを取得できれば、MongoDB に接続したことがわかります。認証を扱っていない場合は、サーバー側で MongoDB から何かを返すメソッドを作成できます。何かを返すと、クライアント側で成功すると、すべてのサブスクリプションを開始できます。
于 2012-12-06T09:17:31.843 に答える