import { apiClient } from '@scm-manager/ui-components'; const waitForRestart = () => { const endTime = Number(new Date()) + 10000; let started = false; const executor = (resolve, reject) => { // we need some initial delay if (!started) { started = true; setTimeout(executor, 1000, resolve, reject); } else { apiClient .get('') .then(resolve) .catch(() => { if (Number(new Date()) < endTime) { setTimeout(executor, 500, resolve, reject); } else { reject(new Error('timeout reached')); } }); } }; return new Promise(executor); }; export default waitForRestart;