16-ой версия #nodejs даст нам нативный AbortController. Он создан для отмены выполнение Promise-based функций. Это аналог DOM AbortController, который отменяет fetch запросы.
Ждем появления в коде и на собеседованиях abortable-функций. Уже сейчас SDK cloud-провайдеров (AWS, Azure, GCP) использует полифил. Пример кода:
import { AbortController } from "@azure/abort-controller"; // create a controller and get its signal const controller = new AbortController(); const abortSignal = controller.signal; // pass the abortSignal into the API you want to cancel await blobClient.download({ abortSignal }) // then sometime later, cancel it! controller.abort();
Для полноценного перехода пока не хватает AbortError. Об это есть issue. Надеюсь ее закроют до выхода 16-й LTS.