события вьюхи - они отработали до того, как отработает async пайп
что скажете, уважаемые знатоки?
Скажу, что у тебя очень много свободного времени, и я хочу немного одолжить :)
клик мышкой вызывает проверку, а асинк пайп помечает компонент как измененный
на следующем тике. стор уже отработал к этому времени
не улавливаю. что тогда вызывает следующий tick
клик случился, zone проснулся и вызвал appRef.tick и где то тут есть таймаут :) в зоне или в аппе
не, что то не сходится. если было так, не было бы моей проблемы
Зона вызывает appRef.tick используя onMicrotaskEmpty https://github.com/angular/angular/blob/7d42dc3c023391e12ea607beb227fd4426e1694d/packages/core/src/zone/ng_zone.ts#L118 Я не то чтобы хорошо понимаю работу зоны под капотом, но, если верить названию, то вызов происходит когда освободится очередь микротасок ) Вот место где происходит подписка https://github.com/angular/angular/blob/7d42dc3c023391e12ea607beb227fd4426e1694d/packages/core/src/application_ref.ts#L1230
под капотом похоже используется некий таймер все равно, одно дело по таймеру incremental dom весь перепроверить (для Default) или проверить конкретный компонент (OnPush) https://github.com/angular/angular/blob/7d42dc3c023391e12ea607beb227fd4426e1694d/packages/core/src/zone/ng_zone.ts#L388
tick() не вызывает detectChanges
это легко проверить, поставив логпоинты на оба метода
Обсуждают сегодня