elm - 在 Elm 中没有消息的 Cmd

标签 elm feedback noop

是否可以创建一个 Cmd在 Elm 中完成时不发送消息?

具体来说,我试图让一个元素(以编程方式)获得焦点,但我不需要被告知结果:

Dom.focus "element-id"
    |> Task.attempt FocusReceived
...
FocusReceived result ->
    model ! []  -- result ignored

有什么方法可以让 Elm“引擎”在此之后不发送消息 Cmd ?

我知道我的代码 ( FocusReceived result -> model ! [] ) 是空操作,但我希望根本不发送消息。

最佳答案

不,一个 Msg总是需要的。在典型的 Elm 项目中包含一个 Msg 是一个常见的习惯用法。什么都不做的类型构造函数,名为 NoOp .

type Msg
    = NoOp
    | ...
update函数做什么 FocusReceived在你的例子中,即什么都没有。

case msg of
    NoOp ->
        model ! []
    ...

关于elm - 在 Elm 中没有消息的 Cmd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48367333/

相关文章:

functional-programming - 榆树初学者 : trying to write blackjack

elm - Elm 中 Maybe a -> Svg Msg 类型的函数中没有 Nothing 时返回什么

php - 如何通过电子邮件响应影响 PHP 程序/mysql 数据库

debugging - "No operation" haskell

elm - 是否可以在自定义类型的标签上使用 "case ... of"语句?

c++ - 返回多种类型

database-design - 寻找有关数据库设计的一些反馈

powershell - 无操作命令

delphi - 您如何编写无操作声明?

elm - 如何在 URL 中没有 #(哈希)的情况下在 Elm 中进行路由/导航?