2016-04-25 8 views
3

私はAffjaxとlaunchAffを使用してこの簡単なプログラムを持っています。このAffjaxコールでタイプシグネチャを定義する方法

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ニーズは、ここで定義されることがあることを理解し、私は本当に正確にそれを行う方法を取得いけません。

ご協力いただきまして誠にありがとうございます。あなたは、コンパイラは、あなたがそのAJAX呼び出しから戻って取得するために期待するもの知っているように、あなたのtest1の機能に注釈を付ける必要があります

Thxを

答えて

3

test1 = launchAff do 
    Affjax.get "/api" :: Affjax _ Foreign 

あなたの戻り値の型のためthese instancesのいずれかを選択するか、またはあなた自身のデータ型が返されることを期待するならば、それをRespondableインスタンスを書くことができます。

EDIT:ソースコードを編集しました。あなたがAJAXレスポンスで何もしていないので、提供されたコードニットはそれほど役に立ちません。 AffjaxAffの内部で動作するので、do3を使用してGET呼び出しの結果を変数にバインドし、そこから使用することができます。

関連する問題