Azure Core LRO biblioteka klienta dla JavaScript - wersja 3.4.0

Jest to domyślna implementacja długotrwałych operacji w bibliotekach klienta javaScript zestawu Azure SDK, które działają zarówno w przeglądarce, jak i w środowisku NodeJS. Ta biblioteka jest przede wszystkim przeznaczona do użycia w kodzie generowanym przez emiter TypeSpec@azure-tools/typespec-ts .

@azure/core-lro postępuje zgodnie z wytycznymi dotyczącymi projektowania zestawu Azure SDK dla długotrwałych operacji

Kluczowe linki:

Wprowadzenie

Obecnie obsługiwane środowiska

Instalacja

Ten pakiet jest używany głównie w generowanym kodzie i nie jest przeznaczony do bezpośredniego użycia przez użytkowników końcowych.

Najważniejsze pojęcia

PollerLike

Poller jest obiektem, który może sondować długotrwałą operację na serwerze pod kątem jego stanu, dopóki nie osiągnie stanu terminalu. Rozszerza Promise<TResult>się też , więc możesz await to zrobić bezpośrednio, aby uzyskać ostateczny efekt. Udostępnia on następujące elementy:

  • operationState: własność zwracająca aktualny stan operacji, typowana jako typ rozszerzający OperationState. Jest undefined tak, jeśli ankieta nie została jeszcze złożona.
  • result: właściwość, która zwraca wynik operacji po jej zakończeniu i undefined w przeciwnym razie
  • isDone: właściwość zwracająca, czy operacja znajduje się w stanie końcowym
  • onProgress: rejestruje funkcje wywołania zwrotnego, które mają być wywoływane za każdym razem, gdy zostanie odebrana odpowiedź sondowania
  • poll: wysyła jedno żądanie sondowania
  • pollUntilDone: zwraca obietnicę, która zostanie rozwiązana z wynikiem operacji
  • serialize: zwraca obietnicę, która rozwiązuje się do serializowanej reprezentacji stanu Pollera
  • submitted: zwraca obietnicę, która rozstrzyga się po pomyślnym przesłaniu zapytania

OperationState

Typ stanu operacji. Zawiera status pole z następującymi możliwymi wartościami: notStarted, , runningsucceeded, failedi canceled. Dostęp do niego można uzyskać w następujący sposób:

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

Funkcja zwracająca obiekt typu PollerLike. Ten element poller zachowuje się w następujący sposób w obecności błędów:

  • wywołania metody poll i pollUntilDone wyrzucą błąd w przypadku niepowodzenia lub anulowania operacji, chyba że resolveOnUnsuccessful opcja została ustawiona na true.
  • poller.operationState?.status zostanie ustawione na lub "failed""canceled" gdy operacja się nie powiedzie lub zwróci odpowiedź błędu.

Przykłady

Przykłady można znaleźć w folderze samples.

Rozwiązywanie problemów

Przemysł drzewny

Dzienniki można dodawać według uznania biblioteki implementowania narzędzia Long Running Operation poller. Pakiety wewnątrz zestawu azure-sdk-for-js używają @azure/rejestratora.

Następne kroki

Zapoznaj się z przykładami katalogu, aby zapoznać się ze szczegółowymi przykładami dotyczącymi korzystania z tej biblioteki.

Wkład

Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik dotyczący współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.

Testowanie

Aby uruchomić nasze testy, najpierw zainstaluj zależności (za pomocą pnpm install), a następnie uruchom testy jednostkowe za pomocą: pnpm run test:node.

Kodeks postępowania

Ten projekt przyjął kodeks postępowania otwartego firmy Microsoft . Aby uzyskać więcej informacji, zobacz Kodeks postępowania — często zadawane pytania lub skontaktuj się z opencode@microsoft.com z dodatkowymi pytaniami lub komentarzami.