В новой версии NextGIS Frontend 1.13.5 добавлена поддержка сигналов AbortController для отмены запросов в библиотеке @nextgis/ngw-connector и всех других библиотеках, которые от неё зависят (@nextgis/ngw-kit, @nextgis/ngw-map и другие). Также добавлен глобальный метод abort отмены всех запросов из экземпляра NgwConnector.
Раньше отмена запросов была возможна только через метод cancel():
Но при использовании синтаксиса async/await такой подход не сработает, так как асинхронные функции всегда возвращают чистый Promise, в котором нет метода cancel.
С использованием сигналов код становится немного больше, но отмену запросов можно выполнять при любом стиле программирования:
Примечание: такой подход не поддерживается в IE.
Ещё один новый способ позволит отменить все активные запросы в экземпляре NgwConnector:
Совет: всегда старайтесь предусматривать отмену длинных запросов в своих веб-приложениях и node-скриптах. Это позволит избежать мутаций состояний в таких фреймворках как React, Vue, Angular. С новыми возможностями библиотек NextGIS Frontend вам будет проще это сделать.
Фрагмент кода функционального компонента React, в котором предусмотрена отмена долгой загрузки при выходе из компонента:
Ознакомьтесь с примером, в котором показаны новые возможности библиотеки @nextgis/ngw-connector и читайте больше о самой библиотеке