流星延迟

时间:2015-10-02 04:35:18

标签: javascript jquery meteor

我在延迟Meteor中的一个函数时遇到问题,该函数从数据库中的集合返回一条消息。现在,在下面的MeteorPad示例链接中,将从用户发布一条消息,并将其显示并淡入显示中的每个人。

MeteorPad Project Example

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作为延迟,在这种情况下,由于需要队列,因此无效。集合队列可能吗?

1 个答案:

答案 0 :(得分:1)

在帮助程序中使用setIntervalsetTimeout将无效。您需要在onCreatedonRendered中使用它,然后使用SessionReactiveVar

将其传递给帮助者