也许出站端口不支持任务?
Maybe Task not supported on outbound ports?
我似乎遇到了这个错误
Trying to send an unsupported type through outbound port `projectRequests`
port projectRequests : Signal (Maybe (Task String ()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The specific unsupported type is:
Task.Task String ()
The types of values that can flow through outbound ports include: Ints, Floats, Bools, Strings, Maybes, Lists, Arrays, Tuples, Json.Values, and concrete records.
不过这似乎没问题
port orgRequests : Signal (Task String ())
我对这里发生的事情感到困惑。
您可以通过两种方式使用 port:
- 将数据发送到 JavaScript,您可以在其中编写自己的处理程序来处理它。这仅限于可以轻松转换为 JS 值的subset of data。
- 将
Task
s 发送到要安排执行的运行时。
在这种情况下,您的 Task
周围有数据 (Maybe
),因此编译器假定(错误*)您希望将端口用于目的 #1。
如果您想在 Signal
上执行包裹在 Just
中的 Task
并且不对 Signal
上的 Nothing
执行任何操作,您可以过滤掉 Nothing
并使用 Signal.Extra.filter
或 Signal.filterMap identity
:
展开 Just
port projectRequests : Signal (Maybe (Task String ()))
port projectRequests = Signal.filterMap identity -- and then whatever you had here before
*能否将此错误消息报告给 error message catalog?此消息可能会更好,因为它可以根据 Task
中您尝试发送的数据类型来猜测您的意图。
我似乎遇到了这个错误
Trying to send an unsupported type through outbound port `projectRequests`
port projectRequests : Signal (Maybe (Task String ()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The specific unsupported type is:
Task.Task String ()
The types of values that can flow through outbound ports include: Ints, Floats, Bools, Strings, Maybes, Lists, Arrays, Tuples, Json.Values, and concrete records.
不过这似乎没问题
port orgRequests : Signal (Task String ())
我对这里发生的事情感到困惑。
您可以通过两种方式使用 port:
- 将数据发送到 JavaScript,您可以在其中编写自己的处理程序来处理它。这仅限于可以轻松转换为 JS 值的subset of data。
- 将
Task
s 发送到要安排执行的运行时。
在这种情况下,您的 Task
周围有数据 (Maybe
),因此编译器假定(错误*)您希望将端口用于目的 #1。
如果您想在 Signal
上执行包裹在 Just
中的 Task
并且不对 Signal
上的 Nothing
执行任何操作,您可以过滤掉 Nothing
并使用 Signal.Extra.filter
或 Signal.filterMap identity
:
Just
port projectRequests : Signal (Maybe (Task String ()))
port projectRequests = Signal.filterMap identity -- and then whatever you had here before
*能否将此错误消息报告给 error message catalog?此消息可能会更好,因为它可以根据 Task
中您尝试发送的数据类型来猜测您的意图。