Moment.js Timer Plugin

The Moment.js Timer Plugin is used for the creation of timers. It is an improvement over JavaScript’s native timer. Essentially, it is a rewriting of the setInterval and setTimeout methods. It provides a list of functions concerned with creating and managing timers on top of moment duration objects.

It can be installed using the following command:

npm install moment-timer

 

The following are some of the lists functions in this plugin:

  • start
  • loop
  • duration
  • getDuration
  • getRemainingDuration
  • isStopped
  • isStarted

The below examples will help to understand some of the methods of the Timer Plugin.

Example 1:

Javascript




import moment from 'moment';
import timer from "moment-timer";
  
let start = new Date().getTime();
let t = new moment
    .duration(1000)
    .timer({ start: true }, function () {
    console.log(
        `Timeout Callback executed 
         ${(new Date().getTime() - start)}
         ms after script was started.`
    );
});


Output:

Timeout Callback executed 1003 ms after script was started.

Example 2:

Javascript




import moment from 'moment';
import timer from "moment-timer";
  
let t = new moment
    .duration(10000)
    .timer(function () {
    console.log('Finished Timer');
});
  
t.start();
console.log(
    `Before stop() is called: ${t.isStopped()}`
);
  
t.stop();
console.log(
    `After stop() is called: ${t.isStopped()}`
);


Output:

Before stop() is called: false
After stop() is called: true

Reference: https://momentjs.com/docs/#/plugins/timer/



Contact Us