#angular #database #asp.net-web-api #treeview #webapi
Вопрос:
Я перечисляю данные, которые я извлек из базы данных в treeview. Но у меня есть один вопрос. У меня есть таблица городов, округов и районов. Я записываю районы выбранной провинции и районы выбранного района в таблицу. Нет никаких проблем с печатью по одному, но когда мы выбираем много данных (все), этот процесс занимает около 17 минут для запуска в сети. Когда я убираю руку с ключа All, новые данные постоянно поступают из-за запроса к wep api.
Что приходит мне на ум в качестве решения этой проблемы, так это;
Остановка сети, когда мы перестаем нажимать кнопку «Все». Заставляя пользователя ждать, используя сайт, добавляя 20-минутную задержку. (это не имеет никакого смысла.)
Комментарии:
1. 17 минут — это слишком много. Как пользователь взаимодействует с вашими элементами управления? Можете ли вы сначала выбрать все округа, а затем, когда пользователь выберет округ, выбрать города для этого конкретного выбора, и после того, как вы тоже узнаете город, выбрать районы выбранного города?
2. Вместо этого я легко нашел решение, написав функцию, которая отменит все ожидающие запросы при нажатии кнопки. Спасибо вам за вашу помощь.
Ответ №1:
попробуйте погуглить виртуальную прокрутку, это может помочь. Поскольку ngFor требует времени для визуализации больших данных, использование виртуальной прокрутки может помочь сократить время визуализации.
Ответ №2:
private ngUnsubscribeNeighborhood = new Subject();
используя структуру. Я сделал назначение трубы в то место, где мы подписываемся. Я установил Pipe на takeUntil и назначил его ngUnsubscribeNeighborhood. Затем я нажал на кнопку. ngUnsubscribeMahalle.next();
Я решил эту проблему, выполнив