ProyectWeb.PageLiveView.handle_info / 2中没有匹配的功能子句

路易斯·马克斯(Luis Marquez)

我不知道如何匹配异步函数和handle_info

此代码有效:

def order_month() do
    Task.async(fn ->
      (1..12)
      |> Enum.map(fn a -> %{months: a} |> Map.put(:order_months, Proyect.BuyHandler.order_month(a |> Integer.to_string()) 
      |> Enum.map(fn m -> m |> Proyect.BuyHandler.get_opc() end))end)
      end)


  end

我的目的是通过这种方式接收它:

def handle_info({_ref, %{months: month, order_months: order_months}}, socket) do
   {:noreply, assign(socket, %{months: month, order_months: order_months} )}
阿列克谢·马蒂什金(Alexei Matiushkin)

Task.async/1旨在产生的结果Task.await/2

无论是否要使用接收结果handle_info/2,都应将生成的(例如with Kernel.spawn/1)过程的结果显式发送到父过程。

您没有显示的代码Proyect.BuyHandler.get_opc/1,但是如果我们假设它进行了简单的转换,我们可能会从那里发送消息(在这种情况下,Task.start/1应使用而不是Task.async/1在不链接的情况下启动该过程。)可以使用类似的方法。

def order_month(pid) do
  Task.start(fn ->
    (1..12)
    |> Enum.map(fn a ->
      %{months: a,
        order_months: Proyect.BuyHandler.order_month("#{a}")}
    end)
    |> Enum.map(&Proyect.BuyHandler.get_opc/1)
    # ⇓⇓⇓⇓⇓ THIS ⇓⇓⇓⇓⇓
    |> Enum.each(&send(pid, &1))
  end)
end

handle_info/2def handle_info(%{}}, socket)在这种情况下,它本身可能应该具有签名

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Elixir Flow在本地计算机上工作,但不处理数据并抛出:[警告] ** AWS Fargate中“ GenStage.Streamer”中的未定义handle_info

来自分类Dev

为什么从未调用handle_info?

来自分类Dev

何时使用handle_info和handle_cast

来自分类Dev

如何在Phoenix Channel的worker中使用handle_info()?

来自分类Dev

由于erlang超时,如何触发handle_info?

来自分类Dev

Elixir 的 GenServer handle_call、handle_info、handle_cast 未被调用

来自分类Dev

Elixir:(FunctionClauseError)没有匹配的功能子句

来自分类Dev

Plug.Conn.send_file / 5中没有匹配的功能子句

来自分类Dev

编译错误:EEx.Compiler.generate_buffer / 4中没有匹配的功能子句

来自分类Dev

Access.get / 3中没有匹配的功能子句-为什么会出现此错误?

来自分类Dev

Elixir Mailgun错误:IO.chardata_to_string / 1中没有匹配的功能子句

来自分类Dev

Phoenix 1.4 升级 - (FunctionClauseError) Phoenix.Socket.__terminate__/2 中没有匹配的函数子句

来自分类Dev

多重继承中没有匹配功能

来自分类Dev

无法复制具有已知路径的文件的句柄,但具有其HANDLE_ENTRY_INFO

来自分类Dev

没有匹配erlang的函数子句

来自分类Dev

Elixir - Plug - 没有函数子句匹配

来自分类Dev

没有匹配的通话功能

来自分类Dev

错误:没有匹配功能?

来自分类Dev

没有已定义功能的匹配功能

来自分类Dev

框架的Info.plist中没有CFBundleIdentifier

来自分类Dev

ValueError:存档中没有 PKG-INFO

来自分类Dev

Hive INFO 日志在 Spark 作业中没有被抑制

来自分类Dev

GCC“呼叫没有匹配功能。”错误

来自分类Dev

没有与QObject :: connect匹配的功能

来自分类Dev

没有匹配功能可调用“ ANDingOctets”

来自分类Dev

gtkmm“呼叫没有匹配功能”错误

来自分类Dev

C ++ list :: erase没有匹配功能

来自分类Dev

没有匹配功能调用sqrt

来自分类Dev

没有与getline c ++匹配的功能

Related 相关文章

  1. 1

    Elixir Flow在本地计算机上工作,但不处理数据并抛出:[警告] ** AWS Fargate中“ GenStage.Streamer”中的未定义handle_info

  2. 2

    为什么从未调用handle_info?

  3. 3

    何时使用handle_info和handle_cast

  4. 4

    如何在Phoenix Channel的worker中使用handle_info()?

  5. 5

    由于erlang超时,如何触发handle_info?

  6. 6

    Elixir 的 GenServer handle_call、handle_info、handle_cast 未被调用

  7. 7

    Elixir:(FunctionClauseError)没有匹配的功能子句

  8. 8

    Plug.Conn.send_file / 5中没有匹配的功能子句

  9. 9

    编译错误:EEx.Compiler.generate_buffer / 4中没有匹配的功能子句

  10. 10

    Access.get / 3中没有匹配的功能子句-为什么会出现此错误?

  11. 11

    Elixir Mailgun错误:IO.chardata_to_string / 1中没有匹配的功能子句

  12. 12

    Phoenix 1.4 升级 - (FunctionClauseError) Phoenix.Socket.__terminate__/2 中没有匹配的函数子句

  13. 13

    多重继承中没有匹配功能

  14. 14

    无法复制具有已知路径的文件的句柄,但具有其HANDLE_ENTRY_INFO

  15. 15

    没有匹配erlang的函数子句

  16. 16

    Elixir - Plug - 没有函数子句匹配

  17. 17

    没有匹配的通话功能

  18. 18

    错误:没有匹配功能?

  19. 19

    没有已定义功能的匹配功能

  20. 20

    框架的Info.plist中没有CFBundleIdentifier

  21. 21

    ValueError:存档中没有 PKG-INFO

  22. 22

    Hive INFO 日志在 Spark 作业中没有被抑制

  23. 23

    GCC“呼叫没有匹配功能。”错误

  24. 24

    没有与QObject :: connect匹配的功能

  25. 25

    没有匹配功能可调用“ ANDingOctets”

  26. 26

    gtkmm“呼叫没有匹配功能”错误

  27. 27

    C ++ list :: erase没有匹配功能

  28. 28

    没有匹配功能调用sqrt

  29. 29

    没有与getline c ++匹配的功能

热门标签

归档