1

次の例を検討してください。


import { fromEvent } from 'rxjs'; 
import { switchMap, tap } from 'rxjs/operators';
import { ajax } from 'rxjs/ajax';

const httpCall$ = ajax.getJSON('https://rickandmortyapi.com/api/character/');
const click$ = fromEvent(document, 'click');

const switchMapExample$ = click$.pipe(
  tap(() => console.log('inside switchMap - click happend')),
  switchMap(() => {
    console.log('inside switchMap - start http request');
    return httpCall$.pipe(
        tap((val) => console.log('inside switchMap - http response ', val))
    );
  }
));

switchMapExample$.subscribe((val) => {
  console.table(val); // Is There a way to log only the latest value ?
}); 

ドキュメント内をクリックすると、新しいリクエストが処理されます。

ここでブリッツを参照してください: rxjs-about-switchmap

allow を使用SwitchMapして前のリクエストをキャンセルします。最新のリクエスト応答のみを購読するにはどうすればよいですか?

4

3 に答える 3