NextGIS Frontend – отменяемые запросы в @nextgis/ngw-connector

В новой версии 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 и читайте больше о самой библиотеке

Смотреть пример Readme о библиотеке

Обсуждение закрыто.