ThermoSoft Interview Question

What is a JavaScript Promise?