我在延迟Meteor中的一个函数时遇到问题,该函数从数据库中的集合返回一条消息。现在,在下面的MeteorPad示例链接中,将从用户发布一条消息,并将其显示并淡入显示中的每个人。
JS
Template.textDisplay.helpers({
message: function () {
return Database.findOne({}, { sort: { date: -1} });
}
});
Database.insert({
text: message,
date: new Date()
});
HTML
<template name="textDisplay">
<div class="secret-display">
{{secret.text}}
</div>
</template>
不幸的是,如果很多人同时发送消息,则消息无法被视为没有足够的时间让淡入淡出完成..消息之间需要1秒的延迟某种排队。
我已经尝试了setInterval作为延迟,在这种情况下,由于需要队列,因此无效。集合队列可能吗?
答案 0 :(得分:1)
在帮助程序中使用setInterval
或setTimeout
将无效。您需要在onCreated
或onRendered
中使用它,然后使用Session
或ReactiveVar