https://www.lateral.co.za/writing/popups-and-promises for a full description.
code sample from sabelo
No-Library (pure JS), HTML, CSS, JavaScript
for review
Code for review