ここに私はサービスを持っています。そのsignInメソッドはObservableを返す別のServiceのメソッドを起動します。すべてのコンポーネントはObservableの結果を購読できる必要があります。そこでObservableというパブリックレスポンス変数を作成しました。これはすべてのコンポーネントからアクセスできます。 Observerが実際に知っているだけの2つのパラメータが必要なので、signInに直接登録することはできません。角2はhttpの結果を観察します
問題は、応答が最初にでが未定義であることです。したがって、別のコンポーネントのコンストラクタでそれを購読することはできません。
データがいつ届くのかわからないときに、どのように回答を購読できますか?何か案は?
export class AuthService{
public response:Observable<any[]>;
constructor(private httpService:HTTPService){
this.response = new Observable();
}
signIn(user:String, password:String){
this.response = this.httpService.query({user: user, pass: password})
.map((r: Response) => r.json());
}
}
これは通常、あなただけのObservable
ことを返す必要があり、ユーザーとパスワードが
onSubmit(f:NgForm){
this.authService.signIn(f.value.user, f.value.password);
}
「データが到着するとき」どのようなデータですか? 'user'と' password'はどこから来たのですか? –
@Günterのユーザーとパスワードは、コンポーネントから来ています。データはhttp getから取得します。 –