Недавно мне пришлось сделать небольшую фичу в одном из проектов нашего клиента, которая заключалась в добавлении таймера обратного отсчета. Поскольку приложение создано с помощью AngularJS, моей первой реакцией было найти в Google директиву для выполнения работы, и я наткнулся на множество директив, которые могли бы выполнить эту работу.

Но я чувствовал, что они просто делают слишком много, и мне не нужен был такой уровень сложности. Он просто собирался использоваться в одном месте в нашем продукте.

Мы использовали Moment.js во всем приложении и решили, что должен быть простой способ сделать это с помощью moment. Затем я наткнулся на эти замечательные объекты длительности, которые вы можете создавать с помощью moment для представления определенной продолжительности времени, а также манипулировать ею.

Это казалось идеальным ингредиентом для моего небольшого сценария обратного отсчета. Я быстро написал приведенный ниже код, и это было легко.

Как видите, самая крутая часть — это то, что мы можем сделать,

duration.subtract oneSecond

Мне нравится, как она читается :)

Во всяком случае, я, вероятно, должен написать это как директиву. Но да ладно, мы увидим об этом в следующий раз, когда мне придется использовать это в моем проекте.