AbortController は、fetch API でリクエストをキャンセルするためのオブジェクトです。AbortController は複数のリクエストを 1 度にキャンセルできます。
例えば、並行して複数のリクエストを行い、そのうちの 1 つのリクエストが完了したら残りのリクエストをキャンセルしたい場合には、Promise.race() と AbortController を使用することで実現できます。
const urls = [...];
const controller = new AbortController();
const requests = urls.map((url) => {
return fetch(url, { signal: controller.signal });
});
const result = Promise.race(requests).then((response) => {
controller.abort();
return response;
});