2017-05-10 9 views
0

私は入力フォームコントロールの値の変更に関するサブスクリプションを持っており、これらの値を別の呼び出しを行うためにユーザータイプとして使用する必要があります。これはうまくいきますが、私は観察可能な点がコールバック地獄を取り除くことだと思っていたので間違っています。どんな助け?formControl.valuesChange内でのネスト登録

constructor(private symbolSearchService: SymbolSearchService) { 
    this.symbolSearchForm = new FormControl(); 
    } 

    ngOnInit() { 
    this.symbolSearchForm.valueChanges.subscribe(
     val => { 
     this.symbolSearchService.symbolLookup(val).subscribe(
      val => console.log('val', val) 
     ) 
     } 
    ) 
    } 

答えて

1

あなたは、観察可能な演算子を使用して、これを平らにすることができます

this.symbolSearchForm.valueChanges 
    .mergeMap(val => this.symbolSearchService.symbolLookup(val)) 
    .subscribe(val => console.log('val', val)); 

は、例えば参照してください。 https://www.learnrxjs.io/operators/transformation/mergemap.html

+0

ありがとうございます!あなたは編集する必要があります.mergeMap – Yeysides

+0

あなたはmargeMapを書きました:P – Yeysides

+0

@Yeysidesああ、おっと!修正しました。そのような小さなタイプミスがある場合は、回答の編集を提案することができます。 – jonrsharpe

関連する問題