Promise JavaScript
demo1
demo2
demo3