Azure Core LRO client library for JavaScript - version 3.4.0

Detta är standardimplementeringen av tidskrävande åtgärder i Azure SDKs JavaScript-klientbibliotek som fungerar i både webbläsaren och NodeJS. Detta bibliotek är främst avsett att användas i kod som genereras av TypeSpec-emittern@azure-tools/typespec-ts .

@azure/core-lro följer Azure SDKs:s designriktlinjer för tidskrävande åtgärder

Nyckellänkar:

Komma igång

Miljöer som stöds för närvarande

Installation

Det här paketet används främst i genererad kod och är inte avsett att användas direkt av slutanvändare.

Viktiga begrepp

PollerLike

En poller är ett objekt som kan avsöka den tidskrävande åtgärden på servern för dess tillstånd tills den når ett terminaltillstånd. Den förlänger Promise<TResult>också , så du kan await direkt för att få slutresultatet. Den innehåller följande:

  • operationState: en egenskap som returnerar operationens aktuella tillstånd, typad som en typ som utvidgar OperationState. Det är om undefined pollern ännu inte har skickats in.
  • result: en egenskap som returnerar resultatet av operationen när den är fullbordad och undefined annars
  • isDone: en egenskap som returnerar om operationen är i ett terminalt tillstånd
  • onProgress: registrerar återanropsfunktioner som ska anropas varje gång ett avsökningssvar tas emot
  • poll: skickar en enda avsökningsbegäran
  • pollUntilDone: returnerar ett löfte som kommer att lösas med resultatet av åtgärden
  • serialize: returnerar ett löfte som löser sig till en serialiserad representation av pollerens tillstånd
  • submitted: returnerar ett löfte som löses när pollern har skickats in framgångsrikt

OperationState

En typ för åtgärdstillståndet. Det innehåller ett status fält med följande möjliga värden: notStarted, running, succeeded, failed, och canceled. Den kan nås på följande sätt:

switch (poller.operationState?.status) {
  case "succeeded": // return poller.result;
  case "failed": // throw poller.operationState?.error;
  case "canceled": // throw new Error("Operation was canceled");
  case "running": // ...
  case "notStarted": // ...
}

createHttpPoller

En funktion som returnerar ett objekt av typen PollerLike. Den här pollern beter sig så här i närvaro av fel:

  • anropar till poll och pollUntilDone utlöser ett fel om åtgärden har misslyckats eller avbrutits såvida inte resolveOnUnsuccessful alternativet har angetts till sant.
  • poller.operationState?.status kommer att sättas till "failed" eller "canceled" när antingen operationen misslyckas eller returnerar ett felsvar.

Exempel

Exempel finns i mappen samples.

Felsökning

Loggning / Skogsavverkning

Loggar kan läggas till efter eget gottfinnande för biblioteket som implementerar den tidskrävande åtgärden poller. Paket i azure-sdk-for-js använder @azure/logger.

Nästa steg

Ta en titt på exempel katalog för detaljerade exempel på hur du använder det här biblioteket.

Bidrag

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.

Testa

Om du vill köra våra tester installerar du först beroendena (med pnpm install) och kör sedan enhetstesterna med: pnpm run test:node.

Uppförandekod

Det här projektet har antagit Microsoft Open Source Code of Conduct. Mer information finns i vanliga frågor och svar om uppförandekod eller kontakta opencode@microsoft.com med ytterligare frågor eller kommentarer.