共用方式為


適用於 JavaScript 的 Azure Core LRO 用戶端連結庫 - 3.0.0 版

這是在瀏覽器和 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 欄位:notStartedrunningsucceededfailedcanceled。 您可以存取它,如下所示:

switch(poller.getOperationState().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

後續步驟

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

貢獻

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

測試

若要執行我們的測試,請先安裝相依性(具有 npm installrush install),然後使用:npm run unit-test執行單元測試。

行為規範

此項目已採用 Microsoft 開放原始碼程式代碼。 如需詳細資訊,請參閱 《行為規範》常見問題 或連絡 opencode@microsoft.com,以取得任何其他問題或意見。

印象