我目前正在研究 Phoenix,我想知道在完成其插头管道后插头连接会发生什么。
conn
|> endpoint
|> router
|> controller
|> view
文档说,该render/3
函数将调用视图中相应的模板函数,并以200
. 但是在此之后连接会发生什么?是否有任何更高的调用者(例如牛仔适配器)使用了返回,或者管道是否简单地以未使用的开放返回结束?
查看撰写本文时的源代码Plug.Conn.send_resp/1
,您可以看到连接首先通过适配器发送,然后返回。这是因为可能有其他插件可以与其state: :sent
及其包含的信息建立连接并进行任意操作。最终的返回值(参见此处)最终由适配器使用。