169 похожих чатов

Ведь detectChanges вызовут только 1. инпуты - их нет 2. подписки на

события вьюхи - они отработали до того, как отработает async пайп
что скажете, уважаемые знатоки?

10 ответов

14 просмотров

Скажу, что у тебя очень много свободного времени, и я хочу немного одолжить :)

клик мышкой вызывает проверку, а асинк пайп помечает компонент как измененный

на следующем тике. стор уже отработал к этому времени

Глеб-Щукин Автор вопроса
xxtux Shvets
на следующем тике. стор уже отработал к этому врем...

не улавливаю. что тогда вызывает следующий tick

Глеб Щукин
не улавливаю. что тогда вызывает следующий tick

клик случился, zone проснулся и вызвал appRef.tick и где то тут есть таймаут :) в зоне или в аппе

Глеб-Щукин Автор вопроса
xxtux Shvets
клик случился, zone проснулся и вызвал appRef.tick...

не, что то не сходится. если было так, не было бы моей проблемы

Глеб Щукин
не улавливаю. что тогда вызывает следующий 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

Глеб Щукин
не улавливаю. что тогда вызывает следующий tick

под капотом похоже используется некий таймер все равно, одно дело по таймеру incremental dom весь перепроверить (для Default) или проверить конкретный компонент (OnPush) https://github.com/angular/angular/blob/7d42dc3c023391e12ea607beb227fd4426e1694d/packages/core/src/zone/ng_zone.ts#L388

Глеб-Щукин Автор вопроса
Глеб Щукин
tick() не вызывает detectChanges

это легко проверить, поставив логпоинты на оба метода

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта