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

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

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

3 ответов

6 просмотров

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

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 кит 😎

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

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

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Коллеги, как получить PId для собственного процесса из под линукса?
Роман Лях (rgreat)
6
@ahndmn @ayaw0_0 здарова, на чем пишете?
Aiwan \ (•◡•) / _bot
7
Карта сайта