请在 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 (由 johanatan 报告)
...