JSFiddle - React, Tailwind, and code Playground

HTML

<script src=" https://cdnjs.cloudflare.com/ajax/libs/bacon.js/0.7.41/Bacon.js"></script>

JavaScript

function delayPromise(val){
    return new Promise(function(resolve){
      setTimeout(function(){ console.log("Resolve timeout"); resolve(val); }, 500);                   
    });
}

var stream = Bacon.fromArray([1, 2, 3, 4]).flatMapConcat(function(value) {
  return Bacon.fromPromise(delayPromise(value));
});

stream.take(1).log();