Как работает следующий код и для чего два tap?

Есть такой код.

public FormSub$: Subscription;
    public Form$: Subject<DynamicForm>;
    public Form: FormGroup;
    
    this.Form$ = new Subject<DynamicForm>();
    this.Form = new FormGroup({});
    ngOnInit(): void {
    		this.dynamicFormSub$ = this.dynamicFormService.getDynamicForm()
    			.pipe(
    				tap(response => this.dynamicForm.next(response)),
    				tap(response => {}));
    }).subscribe();


Если я понял этот код правильно, он ожидает данные из `this.dynamic Form Service.getDynamicFrame ()`, тогда я не понимаю, почему мы используем tap дважды и что мы ожидаем при втором tap?

Где `getDynamicForm` is:

getDynamicForm(): Observable<DynamicForm> {
    		return this.http.get<DynamicForm>(`form`, {
    		})
    		.pipe(
    			map(response => this.get(response)),
    
    		);
    	}


Почему мы используем подписку на чтение файла, если это происходит только один раз:

this.dynamicFormService.getDynamicForm()
      .pipe()).subscribe() {})
    }
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
почему мы используем tap дважды и что мы ожидаем при втором tap?

ничего. стоит удалить.
И вообще достаточно
this.dynamicFormSub$ = this.dynamicFormService.getDynamicForm().subscribe(this.dynamicForm);

Хотя сабжект в компоненте тоже не нужен, это говнокод.

Почему мы используем подписку на чтение файла, если это происходит только один раз

Чтобы запрос выполнился, надо подписаться. Подписка "запускает на выполнение" холодный observable.
Стоит прочесть https://habr.com/ru/post/490988/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы