問題タブ [siesta-swift]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - シエスタ JSON レスポンス
次のように JSON 応答を返す API をセットアップしました。
これを読みましたが、key1
どうすれば適切にアクセスできるのかまだわかりません。を介してトランスフォーマーのデータをデコードしようとしました[String : Any]
が、あいまいな型のエラーがスローされます:「式の型があいまいです」。
では、以下のコードで Siesta を使用して応答を読み取るにはどうすればよいでしょうか?
swift - Swift Siesta - リクエスト チェーンに非同期コードを含める方法は?
Siesta デコレータを使用して、ログインしたユーザーが 401 を取得したときに authToken が自動的に更新されるフローを有効にしようとしています。認証には Firebase を使用します。
Siesta のドキュメントには、Siesta リクエストをチェーンする方法に関する簡単な例がありますが、ここで非同期の Firebase getIDTokenForcingRefresh:completion:を機能させる方法を見つけることができませんでした。問題は、Siesta が常に Request またはRequestChainActionが返されることを期待していることですが、これは Firebase 認証トークン更新 API では不可能です。
リクエスト チェーンは主に Siesta のみのユース ケースで行われることを理解しています。しかし、FirebaseAuth のような非同期のサードパーティ API を使用する方法はありますか?
コードは次のとおりです。
編集:
Adrianの提案された回答に基づいて、以下の解決策を試しました。それでも期待どおりに動作しません:
- request() .postを使用してリクエストを送信します
- 解決策では、コールバックで「リクエストがキャンセルされました」というエラーが発生します
- createUserのコールバックが呼び出された後、元のリクエストが更新された jwt トークンとともに送信されます
- createUserのコールバックが応答のために呼び出されないため、正しい jwt トークンを使用したこの新しい要求は失われます。その場合、 onSuccessに到達することはありません。
元のリクエストが更新された jwt トークンで送信された後にのみ createUser のコールバックが呼び出されるようにするにはどうすればよいですか? これが私の機能しない解決策です-何か提案があれば幸いです:
API クラス:
RequestDelegate: