Azure Abort Controller klientbibliotek för JavaScript - version 2.2.0

Paketet @azure/abort-controller tillhandahåller AbortSignalLike gränssnitt och AbortError klasser för att underlätta att arbeta med AbortController och använda AbortSignalfetch som är inbyggt i moderna JavaScript-plattformar.

Kunder av Azure SDKs för JavaScript i allmänhet behöver inte använda detta bibliotek. Istället använder AbortController de och AbortSignal tillhandahålls av sina plattformar och vidarebefordrar avbrytsignalerna till Azure SDKs-operationer.

Nyckellänkar:

Komma igång

Installation

Installera det här biblioteket med npm på följande sätt

npm install @azure/abort-controller

Viktiga begrepp

Använd AbortController för att skapa en AbortSignal som sedan kan skickas till Azure SDKs-operationer för att avbryta väntande arbete. Kan AbortSignal nås via egenskapen signal på en instansierad AbortController. An AbortSignal kan också returneras direkt från en statisk metod, t.ex. AbortSignal.timeout(100). Det avbryts efter 100 millisekunder.

Exempel

Exemplen nedan antar att doAsyncWork är en funktion som tar en påse med egenskaper, varav en är avbrytsignalen.

Exempel 1 – grundläggande användning

async function doAsyncWork(options: { abortSignal: AbortSignal }): Promise<void> {
  if (options.abortSignal.aborted) {
    return;
  }

  // do async work
}

const controller = new AbortController();
doAsyncWork({ abortSignal: controller.signal });

// at some point later
controller.abort();

Exempel 2 - Avbryt med timeout

async function doAsyncWork(options: { abortSignal: AbortSignal }): Promise<void> {
  if (options.abortSignal.aborted) {
    return;
  }

  // do async work
}

const signal = AbortSignal.timeout(1000);
doAsyncWork({ abortSignal: signal });

Nästa steg

Du kan skapa och köra testerna lokalt genom att köra npm run test. Utforska mappen test för att se avancerad användning och beteende för de offentliga klasserna.

Felsökning

Om du stöter på problem när du använder detta bibliotek, tveka inte att lämna in ett ärende.

Contributing

Om du vill bidra till det här biblioteket kan du läsa bidragsguide för att lära dig mer om hur du skapar och testar koden.