The Promise object is used for asynchronous computations. A Promise represents a value which may be available now, or in the future, or never.
The "promise" variables contain values that are not immediately available. However, you can specify callback functions that will trigger when the values do become available.
There are a couple of haxelibs that do the same, but in this example we will use the default Haxe implemention js.Promise