2016-09-21 13 views
1

ImはAPIに私の要求を送信し、マップ機能とそれを解析を返しますdoLoginのサブスクライバのTypeScriptには、ではなく、Responseと表示されます。あなたの関数プロトタイプの観測はタイプ

答えて

4

ことの原因:

ポスト(URL:文字列、のparams):観察可能< レスポンス>

doLogin(ログイン、haslo):観察可能< レスポンス>

これらは次のとおりです。

観察可能な< ブール>

はこのようにそれを実行します。

//part of service 
post(url: string, params): Observable<any> { 
    let requestUrl: string = this.apiUrl + url; 
    return this.http.post(requestUrl, params) 
     .map(response => response.json()); 
} 

//part of other service 
doLogin(login, haslo): Observable<boolean> { 
    return this.apiService.post('auth/login/', {login: login, haslo: haslo}) 
     .map(result => result == true /* or any check here and return an BOOLEAN !!*/); 
} 
+0

しかし、それは必ずしも真実ではありません。 'Post'メソッドは結果をjsonに変えます(それはどんなデータでもよいので)Observable でなければならず、' doLogin'はObservableによって可能ですしかし、typescriptは不一致です。最後に 'result'はオブジェクトではないブール値です:/ – piernik

+0

私の更新された答えを見て、今あなたが方向を見ることを願って.. – mxii

+0

そしてこれは動作します - ありがとう – piernik