Fracture interview question

What is a promise in javascript?