core-async 2023-03-02

is there a better way to concat channels other than (a/map identity [ch1 ch2 ..]) ?

order is important

I need first everything from ch1, then from ch2 etc

a/map identity doesn't give you that though

right? maybe I'm misremembering

no I remembered correctly

ohhh you are right

clojure.core.async/map
([f chs] [f chs buf-or-n])
  Takes a function and a collection of source channels, and returns a
  channel which contains the values produced by applying f to the set
  of first items taken from each source channel, followed by applying
  f to the set of second items from each channel, until any one of the
  channels is closed, at which point the output channel will be
  closed. The returned channel will be unbuffered by default, or a
  buf-or-n can be supplied
nil

You are right, I can’t use map there

it won't even work because identity isn't vararg

I guess I’ll write a go loop then..