2016-04-14 10 views
0

scalajs-angularで行われたリクエストのhttpステータスコードを取得したいと思います。scalajs-angularでリクエストのhttpステータスコードを取得する方法

http.get[js.Any]("url") successとタイプ(js.Any, Int) => Unitの機能で入手できます。しかし、ユニット以外のものを返そうと思っています。例えば

、私が行うことができるようにしたいと思います:

http.get[js.Any]("url") map { 
    case response.status == 200 => true 
    case _ => false 
} 

はどうすればこれを行うことができますか?

答えて

0

scalajs-angularのドキュメントに基づいて、getのバージョンはPromiseのバージョンを返すように見えますが、私は以下のコメントでこれを解消しました。あなたが探しているのは明らかに未来です。だから私は約束から未来を取得され、意図したとおりに、あなたが.futureを追加した場合、あなたのコードが動作する疑いがある:

http.get[js.Any]("url").future map { 
    case response.status == 200 => true 
    case _ => false 
} 

(NB:私は自分自身をscalajs-角度を使用していないので、これはに基づいて推測です

+0

私はgetが非同期であることを知っていますが、私はこの応答のデータを取得できるので、なぜ応答のステータスを取得できないのか分かりません。さらに、回復部分に入ったときに取得できます。( 'recover {case t:HttpException => t.status}') – Simon

+0

httpステータスを取得できないと言っていることを私に確認できますか?関数の結果(未来にラップされている)としてhttpリクエストによって返されます。 – Simon

+0

ああ、私の謝罪、私はあなたの質問を誤解しました。私は自分自身でscalajs-angularを使っていませんが、ドキュメントからはgetのバージョンがHttpPromiseを返します。これはPromiseを拡張しています。私が信じているのは、未来を手に入れるために.futureを呼び出せなければならないということです。 –

関連する問題