时钟不会使用moment.js每秒更新

时间:2017-09-22 15:06:31

标签: javascript momentjs

第一次使用moment.js,我正在努力实现一个时钟来显示CET和PST的时间。我的代码如下:

function cetClock() {
    var cet = moment.tz("Europe/London");
    var today = new Date(cet);
    var h = today.getHours();
    var m = today.getMinutes();
    var s = today.getSeconds();
    m = checkCetTime(m);
    s = checkCetTime(s);
    $rootScope.cetTime =  h + ":" + m + ":" + s;
    var t = setTimeout(cetClock, 300);
}
function checkCetTime(i) {
    if (i < 10) {i = "0" + i};  // add zero in front of numbers < 10
    return i;
}

cetClock()
<div class="col-md-6">
    <p>CET: {{$root.cetTime}}</p>
</div>  

我遇到的问题是视图中的时间每4-5秒才会更新一次。如果我在函数中记录hms,则每500毫秒更新一次。

问题

为什么viiew中的时钟每秒都无法更新?

1 个答案:

答案 0 :(得分:1)

我建议使用$timeout代替setTimeout,这会自动触发摘要周期。