共用方式為


適用於 JavaScript 的 Azure Core LRO 用戶端程式庫 - 3.3.1 版

這是在瀏覽器和 NodeJS 中運作的 Azure SDK JavaScript 用戶端連結庫中長時間執行作業的預設實作。 此連結庫主要用於由 AutoRestautorest.typescript所產生的程式代碼中。

@azure/core-lro 遵循 長時間執行作業的 Azure SDK 設計指導方針

主要連結:

開始

目前支持的環境

安裝

此套件主要用於產生的程式代碼中,而不是由終端使用者直接取用。

重要概念

SimplePollerLike

輪詢器是物件,可以在伺服器上輪詢長時間執行的作業,以取得其狀態,直到達到終端狀態為止。 它提供下列方法:

  • getOperationState:傳回作業的狀態,輸入為擴充的類型 OperationState
  • getResult:傳回作業完成時的結果, undefined 否則傳回作業的結果
  • isDone:傳回作業是否處於終端機狀態
  • isStopped:傳迴輪詢是否停止
  • onProgress:註冊每次收到輪詢回應時要呼叫的回呼函式
  • poll:傳送單一輪詢要求
  • pollUntilDone:傳回會隨著作業結果解析的承諾
  • stopPolling:停止輪詢;
  • toString:串行化輪詢器的狀態

OperationState

作業狀態的類型。 status其中包含具有下列可能值的欄位:notStarted、、runningsucceededfailed、 和 canceled。 您可以存取它,如下所示:

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

createHttpPoller

傳回 型 SimplePollerLike別 物件的函式。 此輪詢器的行為如下:存在錯誤:

  • poll呼叫 並將pollUntilDone擲回錯誤,以防作業失敗或取消,除非resolveOnUnsuccessful選項設定為 true。
  • poller.getOperationState().status 當作業失敗或傳回錯誤回應時,將會設定為 true。

例子

您可以在 samples 資料夾中找到範例。

故障排除

伐木

您可以根據實作長時間執行作業輪詢器的連結庫,來新增記錄。 azure-sdk-for-js 內的套件會使用 @azure/logger

後續步驟

如需如何使用此連結庫的詳細範例,請參閱 範例 目錄。

貢獻

如果您想要參與此連結庫,請閱讀 參與指南,以深入瞭解如何建置和測試程序代碼。

測試

要運行我們的測試,請先安裝依賴項(使用 pnpm install),然後使用以下命令運行單元測試。 npm run unit-test

行為規範

此專案已採用 Microsoft開源行為準則。 如需詳細資訊,請參閱 《行為規範》常見問題 或連絡 opencode@microsoft.com,以取得任何其他問題或意見。