`async/map` output channel not close, when has some input channel not closed, even if I closed one channel of inputs.

Description

```clojure
(def c1 (chan))
(def c2 (chan))
(def out (a/map vector [c1 c2]))
(a/close! c1)
(a/<!! out) ;; will hangs until I put item to `c2` or close `c2`
```

I think the better way is close output channel immediately when any of input channels closed.

Environment

Clojure
ClojureScript

Assignee

Unassigned

Reporter

Isaac Zeng

Labels

None

Approval

None

Patch

Code

Priority

Major
Configure