欢迎!请参阅 关于 页面以获取更多关于此工作方式的信息。
在 core.async 的文档中,识别符 port 被用作一些函数/表单的输入。port 是否和 chan 相同?或者它是 chan 实现的一种接口或协议?
core.async
port
chan
端是 chan 的读取或写入端。所以你可以认为大多数通道实例在两端都有读取和写入端口。在某些情况下,API 可能实际上只给出读取或写入端口实现,而不是完整的 chan。
读取和写入端协议在以下位置定义 https://github.com/clojure/core.async/blob/master/src/main/clojure/clojure/core/async/impl/protocols.clj#L15.