流星反应中的Momentjs?

use*_*175 6 meteor momentjs

一直在流星中使用https://github.com/acreeger/meteor-moment并且运行良好,但是有一种方法可以使得力矩的输出被反应,以便它在"3秒前","4秒前计时" "等等?

use*_*348 10

我不会为每个单独的计时器使用新的Session变量,而是创建一个Tracker.Dependency每秒(或者可能每10秒)标记一次更改的单个变量,然后在您想要依赖当前时间时依赖于此变量.

var timeTick = new Tracker.Dependency();
Meteor.setInterval(function () {
  timeTick.changed();
}, 1000);

fromNowReactive = function (mmt) {
  timeTick.depend();
  return mmt.fromNow();
}

Template.example.helpers({
  example: function () {
    return fromNowReactive(moment().startOf('hour'));
  }
});
Run Code Online (Sandbox Code Playgroud)

这是采用的方法mizzao:timesync,如果这些fromNow方法基于服务器端时间戳,则可以使用这个方法.不使用客户端生成时间戳的一个原因是这些可能不同步,导致字符串就像5 seconds from now刚刚发布的帖子一样.mizzao:timesync允许服务器生成的时间戳在任何地方使用,并且还可以有效地将不同的反应间隔组合在一起.


use*_*175 1

感谢大家的回复,我找到了一个 mrt 包,它可以完成这项工作atmospherejs.com/package/livestamp