【发布时间】:2017-05-22 06:45:19
【问题描述】:
我目前正在研究 Phoenix,我想知道在完成其插头管道后插头连接会发生什么。
conn
|> endpoint
|> router
|> controller
|> view
文档说,render/3函数会调用视图中对应的模板函数,并以200的状态码响应客户端。但是在此之后连接会发生什么?是否有任何更高级别的调用者(例如牛仔适配器)使用了返回,或者管道是否简单地以未使用的开放返回结束?
【问题讨论】:
我目前正在研究 Phoenix,我想知道在完成其插头管道后插头连接会发生什么。
conn
|> endpoint
|> router
|> controller
|> view
文档说,render/3函数会调用视图中对应的模板函数,并以200的状态码响应客户端。但是在此之后连接会发生什么?是否有任何更高级别的调用者(例如牛仔适配器)使用了返回,或者管道是否简单地以未使用的开放返回结束?
【问题讨论】:
查看source code for Plug.Conn.send_resp/1 at the time of writing,您可以看到连接首先通过适配器发送,然后返回。这是因为可能有其他插件可以与state: :sent 建立连接,并对其及其包含的信息进行任意操作。最终的返回值(参见here)最终由适配器使用。
【讨论】:
state: :sent 连接的用例示例吗?