嵌套可能并且可以为空

时间:2017-08-03 08:13:49

标签: purescript maybe

无法解决以下可能和可以为空的值:

container <-
  unsafePartial
  (fromJust <<< toMaybe
  <$> DOM.querySelector (DOM.QuerySelector "body")
  (DOM.htmlDocumentToParentNode document))

这给了我以下错误:

  

无法匹配类型

     

也许

     

类型

     

可空

     

尝试匹配类型可能元素
   类型为Nullable t1
  同时检查表达式(querySelector(QuerySelector“body”))
  (htmlDocumentToParentNode文件)
   类型为t0(可为空)t1   在价值声明主要

     

其中t0是未知类型
       t1是未知类型

我已经尝试了但是我无法通过这里使用的各种类型找到自己的方式 (代码最初来自here

1 个答案:

答案 0 :(得分:1)

我建议稍微解决这个问题。

开始
do body <- DOM.querySelector (DOM.QuerySelector "body")
             (DOM.htmlDocumentToParentNode document))
   ?whatNext

在这里,?whatNext是一个打字的洞。编译器会告诉你洞的推断类型,它可以帮助你找出替换它的内容。

另请注意,您可以直接将unsafePartial应用于fromJust来简化操作,以提供类型为Maybe a -> a的函数。