正如标题所说。通过频道发送响应和返回地图之间有什么区别。
(defn handler-one
[request]
(response "hello world")
(defn handler-two
[request]
(with-channel request channel
(send! channel (response "hello world"))
答案 0 :(得分:1)
遵循core.async频道的理论,如果您使用频道,您将拥有非阻塞通信,这意味着您的线程在http响应之前不会被阻止。如果您使用阻塞通信等待映射http响应,您的线程将被阻止
答案 1 :(得分:1)
handler-one
函数使用同步方法。请求 - >响应
handle-two
是实现请求的一种方式 - >响应但异步。
您可以查看with-channel宏定义以获取更多实现细节(和文档)。
如果您想了解有关异步方法的更多详细信息,那么我建议您学习以下方法之一:Futures,Reactive Programming,Netty,Node.js或Vert.x