JSFiddle - React, Tailwind, and code Playground

by Sergei Sokolov

HTML

<button>
  Скачать
</button>

JavaScript

/**
 * для вопроса https://qna.habr.com/q/936855
 * Как отложить загрузки файла?
 */
const btn = document.querySelector('button');
btn.addEventListener('click', () => {
  btn.disabled = true;
  let counter = 5;
  const countdown = () => {
    btn.textContent = counter;
    if (--counter) setTimeout(countdown, 1e3);
  }
  countdown();
  
  // анимация закончится через 5 секунд
  setTimeout(() => {
  	const a = document.createElement('a');
    a.download = 'CV.txt';
    a.href = 'data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==';
    a.click();
  }, 5e3);
});