动态订阅取决于流星中的当前时间

米里亚姆

在一个允许客户端之间实时聊天的应用程序中,我旨在集成允许定义在将来的时间点传递的消息的功能。

在下面的示例中,我能够插入直接插入模板中的消息。但是,我只想显示时间小于或等于当前时间的消息,但是一旦达到该时间,就会自动显示具有未来时间点的消息。例如,如果我从控制台插入一条消息Meteor.call("createMessage", 30000, "hello in 30 seconds"),该消息以后将通过调用显示30秒,则该消息应在30秒后自动显示。

我开始将发布功能中的查询限制为time: {'$lt': new Date()}但是,我在使这种反应性方面遇到麻烦。我尝试了Tracker.autorun和的几种组合,但均未成功cursor.observe

谁能给我一个提示,说明我如何在以下运行示例中实现所需的反应性?

1)html文件

<body>
    {{> chat}}
</body>

<template name="chat">
 {{#each chatMessages}}
    {{time}} - {{message}} <br>
 {{/each}}
</template>

2)js文件

//server and client 
Messages = new Mongo.Collection("messages"); //{time: Sun Nov 02 2014 22:17:32 GMT+0100 (CET), message: "hello"}

//server
if(Meteor.isServer){
  Meteor.methods({
    'createMessage': function(timeOffset, message){
      Messages.insert({
        time: new Date(new Date().getTime() + timeOffset),
        message: message
      });
    }
  });

  Meteor.publish("messages", function(){
    return Messages.find({
      //time: {'$lt': new Date()}
    });
  });
}

//client
if (Meteor.isClient) {
  Template.chat.helpers({
    chatMessages: function(){
      return Messages.find({});
    }
  });

  Tracker.autorun(function (){
    mySub = Meteor.subscribe('messages');
  });
}
马里奥

如果Date()是反应性数据源,则可以使用,但不能。

您可以在服务器端创建一个计时器来处理它。我看到的最好的设计是id:选择下一条消息的将来日期,并设置具有时间差的Timer,还可以获取下一条消息的时间。当然,这取决于您的应用程序如何工作。

了解有关流星中计时器的更多信息:https : //docs.meteor.com/#/full/timers

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

反应性订阅,具体取决于流星中的当前时间

来自分类Dev

如果THAN或CASE语句取决于where子句中的当前时间

来自分类Dev

VueJS 过渡取决于链接是在导航栏中的当前链接之后还是之前

来自分类Dev

导航抽屉的选择取决于HomeActivity中可见的当前受支持的片段管理器

来自分类Dev

动态子集取决于R中的值

来自分类Dev

WHERE 子句中的动态日期取决于当前日期

来自分类Dev

一个属性的ASP:NET MVC 4动态验证取决于另一个属性的当前值

来自分类Dev

动态时间间隔并取决于DisabledTimeIntervals-settings的表单

来自分类Dev

锁定线程取决于其他线程的当前编程计数器

来自分类Dev

锁定线程取决于其他线程的当前编程计数器

来自分类Dev

HTML中的当前时间(JavaScript)

来自分类Dev

QString中的当前日期时间?

来自分类Dev

C ++中的当前UTC时间点

来自分类Dev

HTML中的当前时间(JavaScript)

来自分类Dev

SQL Server中的当前时间戳

来自分类Dev

尝试显示div中的当前时间

来自分类Dev

取决于时间的不同背景

来自分类Dev

Rails视图取决于时间

来自分类Dev

取决于时间的不同背景

来自分类Dev

从 Python 中的当前时间减去 UNIX Epoch 时间

来自分类Dev

流星和铁路由器中的渲染模板取决于文档中的值

来自分类Dev

在下一个工作日动态渲染,具体取决于当前的“天”

来自分类Dev

从当前时间开始计时之前禁用取决于使用 jquery timepicker 的日期选择

来自分类Dev

动态模板中的当前文件路径

来自分类Dev

在Java中设置Saxon的当前日期时间

来自分类Dev

处理反应式香蕉中的当前时间

来自分类Dev

比较datetime和mysql中的当前日期时间?

来自分类Dev

MYSQL中的当前时间(以毫秒为单位)

来自分类Dev

Rails在Rails中获取不同的当前时间

Related 相关文章

  1. 1

    反应性订阅,具体取决于流星中的当前时间

  2. 2

    如果THAN或CASE语句取决于where子句中的当前时间

  3. 3

    VueJS 过渡取决于链接是在导航栏中的当前链接之后还是之前

  4. 4

    导航抽屉的选择取决于HomeActivity中可见的当前受支持的片段管理器

  5. 5

    动态子集取决于R中的值

  6. 6

    WHERE 子句中的动态日期取决于当前日期

  7. 7

    一个属性的ASP:NET MVC 4动态验证取决于另一个属性的当前值

  8. 8

    动态时间间隔并取决于DisabledTimeIntervals-settings的表单

  9. 9

    锁定线程取决于其他线程的当前编程计数器

  10. 10

    锁定线程取决于其他线程的当前编程计数器

  11. 11

    HTML中的当前时间(JavaScript)

  12. 12

    QString中的当前日期时间?

  13. 13

    C ++中的当前UTC时间点

  14. 14

    HTML中的当前时间(JavaScript)

  15. 15

    SQL Server中的当前时间戳

  16. 16

    尝试显示div中的当前时间

  17. 17

    取决于时间的不同背景

  18. 18

    Rails视图取决于时间

  19. 19

    取决于时间的不同背景

  20. 20

    从 Python 中的当前时间减去 UNIX Epoch 时间

  21. 21

    流星和铁路由器中的渲染模板取决于文档中的值

  22. 22

    在下一个工作日动态渲染,具体取决于当前的“天”

  23. 23

    从当前时间开始计时之前禁用取决于使用 jquery timepicker 的日期选择

  24. 24

    动态模板中的当前文件路径

  25. 25

    在Java中设置Saxon的当前日期时间

  26. 26

    处理反应式香蕉中的当前时间

  27. 27

    比较datetime和mysql中的当前日期时间?

  28. 28

    MYSQL中的当前时间(以毫秒为单位)

  29. 29

    Rails在Rails中获取不同的当前时间

热门标签

归档