请在 2024 年 Clojure 状态调查 中分享您的看法!

欢迎!请查看 关于 页面以获取更多关于此工作方式的信息。

0
core.async

标题已经说明一切。

6 个答案

0

评论由:johanatan 撰写

实际上,我的代码更复杂一些

`
(defn func []
(go

 (let [...]
   (for [[a b c d] e]
     (let [...]
        (when pred
           (let [val (<! ...)]  ...)))))))

`

0

评论由:bronsa 撰写

你不能在 `go` 块内使用 `for`。

0

评论由:johanatan 撰写

是否在 `for` 中永远不会出现 `go`?或者 `for` 不能包含任何异步调用;也就是说,for 是否可以作为 `` 调用的兄弟在 `let` 绑定中出现?

0

评论由:bronsa 撰写

您不能在 go 块中的 for 循环中使用 <!,相反,这样的代码是有效的:

`
(go
(let [... (for [...] ...)]

(<! ..)))

`

0

评论由:johanatan 撰写

啊哈,太好了!谢谢!

0
参考:[https://clojure.atlassian.net/browse/ASYNC-161](https://clojure.atlassian.net/browse/ASYNC-161)(由 johanatan 报告)
...