如何在此 Affjax 调用上定义类型签名
How to define the type signature on this Affjax call
我正在使用 Affjax 和 launchAff
编写这个简单的程序。
import Network.HTTP.Affjax as Affjax
import Control.Monad.Aff (launchAff)
test1 = launchAff $ do Affjax.get "/api"
这给了我以下错误
58 test1 = launchAff $ do Affjax.get "/api"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No type class instance was found for
Network.HTTP.Affjax.Response.Respondable _0
The instance head contains unknown type variables. Consider adding a type annotation.
in value declaration test1
where _0 is an unknown type
我知道 Respondable
需要在这里定义,但我真的不知道如何做。
非常感谢任何帮助。
感谢
您需要注释您的 test1 函数,让编译器知道您希望从该 ajax 调用中返回什么。
test1 = launchAff do
Affjax.get "/api" :: Affjax _ Foreign
您可以为您的 return 类型选择 these instances 中的任何一种,或者如果您希望自己的数据类型被 returned,请为 Respondable
编写一个实例它。
编辑:我编辑了源代码。提供的代码片段不是很有用,因为您没有对 AJAX 响应做任何事情。由于 Affjax
在 Aff
内部运行,您可以使用 do 符号将 GET
调用的结果绑定到一个变量并从那里继续使用它。
我正在使用 Affjax 和 launchAff
编写这个简单的程序。
import Network.HTTP.Affjax as Affjax
import Control.Monad.Aff (launchAff)
test1 = launchAff $ do Affjax.get "/api"
这给了我以下错误
58 test1 = launchAff $ do Affjax.get "/api"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No type class instance was found for
Network.HTTP.Affjax.Response.Respondable _0
The instance head contains unknown type variables. Consider adding a type annotation.
in value declaration test1
where _0 is an unknown type
我知道 Respondable
需要在这里定义,但我真的不知道如何做。
非常感谢任何帮助。
感谢
您需要注释您的 test1 函数,让编译器知道您希望从该 ajax 调用中返回什么。
test1 = launchAff do
Affjax.get "/api" :: Affjax _ Foreign
您可以为您的 return 类型选择 these instances 中的任何一种,或者如果您希望自己的数据类型被 returned,请为 Respondable
编写一个实例它。
编辑:我编辑了源代码。提供的代码片段不是很有用,因为您没有对 AJAX 响应做任何事情。由于 Affjax
在 Aff
内部运行,您可以使用 do 符号将 GET
调用的结果绑定到一个变量并从那里继续使用它。