A promise list serves the same purpose as a blocking lazy sequence. Blocking seqs are not available in Clojurescript and so an asynchronous implementation is required.