2
我在Plug.Conn
上有一系列轉換,需要訪問中間結果。如何訪問在Elixir中通過管道運算符傳遞的參數?
n_conn =
conn
|> Plug.Conn.fetch_query_params()
nn_conn =
n_conn
|> assign(:result, inspect(Timestamp.convert_datetime(n_conn.params)))
nn_conn
|> send_resp(200, nn_conn.assigns.result)
|> halt()
我需要n_conn
因爲conn.params
沒有設置直到Plug.Conn.fetch_query_params()
被調用。同樣,我需要nn_conn
,因爲n_conn.assigns.result
沒有設置,直到assign/3
函數被調用。
該代碼相當難看。如果有一種方法可以參考管道運營商的產出,我可以簡化它,如下所示。我希望&1
能夠工作,但事實並非如此。
conn
|> Plug.Conn.fetch_query_params()
|> assign(:result, inspect(Timestamp.convert_datetime(&1.params)))
|> send_resp(200, &1.assigns.result)
|> halt()
有沒有辦法解決這個問題?