How would you explain what does it the promise is in JavaScript?

After a few day break today is now #day12 of #100DaysOfCode and today I’m doing promises! It’s a bit too vague to understand but hopefully by tonight I should get a grip. If anyone wants to try and explain pls do 

My answer:

A train stops at a station. A man says to the train driver: "You keep going. The load is late. I promise it will be loaded while the train driving. You don’t have to stop for it"

Someone else's answer:

To the best of my knowledge because JavaScript is an synchronous, we use promises to let JavaScript know that we are expecting data or feedback, while it runs our script so as to prevent error when fetching the data

Primjedbe