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

Всем привет) Обновил приложение с 10 на 11 angular, потом проверил

на angular 12, тоже поведение. Есть компоненты js, который запускается через runOutsideAngular. Приложение стало зависать, по профайлеру понял, что несмотря на runOutsideAngular сторонний компонент тригерит zone js. Открыл тот компонент на Github и у него есть метод forceUpdate, которые дергается через Promise then.
Я думал, что при runOutsideAngular это не триггерит зону. после 10 версии что-то поменялось?
я видел тут тоже кто-то задавал подобные вопросы при работе со сторонними js либами и падением перфоманса.
В доке angular:
"Любые будущие задачи или микрозадачи, запланированные в runOutsideAngular, будут продолжать выполняться за пределами зоны Angular."

3 ответов

10 просмотров

Интересный вопрос. Я таких изменениях не слышал. Уверен, что раньше было действительно вне зоны, а теперь стало в зоне?

Aleksandr-Shatilov Автор вопроса
Alex Inkin
Интересный вопрос. Я таких изменениях не слышал. У...

да мы работали с таким подходом с 7 версии Angular. Сидел перелистывал статьи про зону. Нашел issue https://github.com/angular/angular/issues/41506 проблема у кого сторонние библиотеки, как у нас. Мы решили свой вопрос переделав библиотеку, которую подключаем. Но все же это инересно, не хотелось бы столкнуться с тем, что подключив что-то на js, и там дернут Promise.Resolve ( создадут микротаск) заденут зону. Я пробовал переходить на Angular 12, но там такое же поведение с RunOutSideAngular.

Aleksandr Shatilov
да мы работали с таким подходом с 7 версии Angular...

Попробуй отключить патчинг промисов зоной или переходи на «другой» UI кит 😎

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта