コレクションの数に基づいて推定待ち時間を表示するアプリケーションを作成しています。私が抱えている問題は、ページが読み込まれたとき、または waitTime が表示されたときに更新されたときですが、最初に 0 が表示され、約 1 秒後にカウントに基づいて実際の waitTime が表示されます。これは、変数がコレクションからカウントを取得する際に遅延しているため、最初のカウントが 0 であることを示してから、実際のカウントを取得して waitTime を表示することと関係があると思いますか?
ロード時またはリフレッシュ時に正確な待機時間のみを表示する方法はありますか?
js:
Template.home.helpers({
waitTime: function() {
var totalCount = Students.find().count();
var hour = totalCount/4;
if(totalCount < 4){
return 15*totalCount + " minutes"
}else if(totalCount >= 4 && totalCount%4 == 0){
return hour + " hour(s)";
}else if(totalCount >= 4 && totalCount%4 == 1){
hour = hour - .25;
return hour + " hour(s)" + " 15 minutes";
}else if(totalCount >= 4 && totalCount%4 == 2){
hour = hour - .5;
return hour + " hour(s)" + " 30 minutes";
}else if(totalCount >= 4 && totalCount%4 == 3){
hour = hour - .75;
return hour + " hour(s)" + " 45 minutes";
}
}
});
HTML:
<template name= "home">
<body>
<h2 id="insert">Approximate Wait Time: {{waitTime}}</h2>
<div class="col-lg-6 col-lg-offset-3">
<!-- Quick form from autoform package creates sign in form and populates collection with data-->
{{>quickForm id="studentForm" collection="Students" type="insert" template="bootstrap3-horizontal" label-class="col-sm-3" input-col-class="col-sm-9"}}
</div>
</body>
</template>