export default function runLater( functionToRunLater: () => T, milliseconds?: number ) { milliseconds = milliseconds ?? 0; return new Promise((resolve, reject) => { setTimeout(() => { try { resolve(functionToRunLater()); } catch (e) { reject(e); } }, milliseconds); }); }