Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dies ist die Standardimplementierung von Vorgängen mit langer Ausführung in JavaScript-Clientbibliotheken des Azure SDK, die sowohl im Browser als auch in NodeJS funktionieren. Diese Bibliothek ist hauptsächlich dafür gedacht, in Code verwendet zu werden, der vom TypeSpec-Emitter@azure-tools/typespec-ts generiert wird.
@azure/core-lro folgt den Azure SDK-Entwurfsrichtlinien für lange ausgeführte Vorgänge
Wichtige Links:
Erste Schritte
Derzeit unterstützte Umgebungen
- LTS-Versionen von Node.js
- Neueste Versionen von Safari, Chrome, Edge und Firefox.
Installation
Dieses Paket wird in erster Linie in generierten Code verwendet und sollte nicht direkt von Endbenutzern genutzt werden.
Wichtige Begriffe
PollerLike
Ein Poller ist ein Objekt, mit dem der lange ausgeführte Vorgang auf dem Server abgerufen werden kann, bis er einen Terminalstatus erreicht. Es verlängert Promise<TResult>auch , sodass du es direkt erreichen await kannst, um das Endergebnis zu erhalten. Er bietet Folgendes:
-
operationState: eine Eigenschaft, die den aktuellen Zustand der Operation zurückgibt, typisiert als ein Typ, der erweitertOperationState. Es gilt,undefinedwenn der Poller noch nicht eingereicht wurde. -
result: eine Eigenschaft, die das Ergebnis der Operation zurückgibt, wenn sie abgeschlossen ist undundefinedandernfalls -
isDone: eine Eigenschaft, die zurückgibt, ob die Operation sich im terminalen Zustand befindet -
onProgress: registriert Rückruffunktionen, die jedes Mal aufgerufen werden, wenn eine Abrufantwort empfangen wird -
poll: sendet eine einzelne Abfrageanforderung. -
pollUntilDone: gibt eine Zusage zurück, die mit dem Ergebnis des Vorgangs aufgelöst wird. -
serialize: gibt ein Versprechen zurück, das auf eine serialisierte Darstellung des Zustands des Pollers aufgelöst wird -
submitted: gibt ein Versprechen zurück, das aufgelöst wird, wenn der Poller erfolgreich eingereicht wurde
OperationState
Ein Typ für den Vorgangszustand. Es enthält ein status Feld mit den folgenden möglichen Werten: notStarted, , running, , succeeded, failedund canceled. Auf sie kann wie folgt zugegriffen werden:
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
Eine Funktion, die ein Objekt vom Typ PollerLikezurückgibt. Dieser Poller verhält sich im Vorhandensein von Fehlern wie folgt:
- Aufrufe an
pollundpollUntilDonelösen einen Fehler aus, falls der Vorgang fehlgeschlagen oder abgebrochen wurde, es sei denn, dieresolveOnUnsuccessfulOption wurde auf "true" festgelegt. -
poller.operationState?.statuswird auf"failed"gesetzt oder"canceled"wenn entweder die Operation fehlschlägt oder eine Fehlerantwort zurückgegeben wird.
Beispiele
Beispiele finden Sie im Ordner samples.
Problembehandlung
Protokollierung
Protokolle können nach Eigenem Ermessen der Bibliothek hinzugefügt werden, die den Abrufvorgang "Long Running Operation" implementiert. Pakete innerhalb von azure-sdk-for-js verwenden @azure/Logger.
Nächste Schritte
Ausführliche Beispiele zur Verwendung dieser Bibliothek finden Sie in den Beispielen Verzeichnis.
Mitarbeit
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie bitte den mitwirkenden Leitfaden, um mehr über das Erstellen und Testen des Codes zu erfahren.
Testen
Um unsere Tests auszuführen, installieren Sie zuerst die Abhängigkeiten (mit pnpm install) und führen Sie dann die Komponententests mit folgendem aus: pnpm run test:node.
Verhaltenskodex
Dieses Projekt hat den Microsoft Open Source Code of Conductübernommen. Weitere Informationen finden Sie im Code of Conduct FAQ oder wenden Sie sich an opencode@microsoft.com mit weiteren Fragen oder Kommentaren.
Azure SDK for JavaScript