ThermoSoft interview question

What is a JavaScript Promise?