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