私はAngular2とrxjsを使用しています。最初に成功したときにRxJSが2番目の操作を呼び出す
login()という操作があります。これはhttp.post要求を使用して認証の詳細をサーバーに送信し、トークンを戻します。
結果を読み取る必要があります。トークンが正常に受信された場合、トークンを検証してデコードするいくつかの操作を行い、すべてがOKならトークンからサーバーにユーザー名を送信しますhttp.getを呼び出し、ユーザーの詳細を取得します。
上記のすべてをObservableとして戻したいと思いますが、RxJSを使用して2つの操作がどのように構成されるべきかについて頭を悩ませています。
最初の操作をサブスクライブして、最初の操作を呼び出すのは「正しい」方法ではないと思います。
これは何か?
this.http.post('http://localhost/auth/token', creds, {
headers: headers
})
.map(res => res.json())
.do(
// validate token
// decode token
)
.thenDo(
// get user details
this.http.get(url, options)
.map(res => res.json())
.do(
//save user and token in localStorage
)
)