適用於 JavaScript 的 Azure Core LRO 用戶端連結庫 - 3.0.0 版
這是在瀏覽器和 NodeJS 中運作的 Azure SDK JavaScript 用戶端連結庫中長時間執行作業的預設實作。 此連結庫主要用於由 AutoRest 和 autorest.typescript
所產生的程式代碼中。
@azure/core-lro
遵循 適用於長時間執行作業的 Azure SDK 設計指導方針
主要連結:
開始
目前支持的環境
- LTS 版本的 Node.js
- 最新版的 Safari、Chrome、Edge 和 Firefox。
安裝
此套件主要用於產生的程式代碼中,而不是由終端使用者直接取用。
重要概念
SimplePollerLike
輪詢器是物件,可以在伺服器上輪詢長時間執行的作業,以取得其狀態,直到達到終端狀態為止。 它提供下列方法:
-
getOperationState
:傳回作業的狀態,類型為擴充OperationState
-
getResult
:在作業完成時傳回結果,否則會傳回undefined
-
isDone
:傳回作業是否處於終端機狀態 -
isStopped
:傳迴輪詢是否停止 -
onProgress
:註冊每次收到輪詢回應時要呼叫的回呼函式 -
poll
:傳送單一輪詢要求 -
pollUntilDone
:傳回會隨著作業結果解析的承諾 -
stopPolling
:停止輪詢; -
toString
:串行化輪詢器的狀態
OperationState
作業狀態的類型。 其中包含具有下列可能值的 status
欄位:notStarted
、running
、succeeded
、failed
和 canceled
。 您可以存取它,如下所示:
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 内
後續步驟
如需如何使用此連結庫的詳細範例,請參閱 範例 目錄。
貢獻
如果您想要參與此連結庫,請閱讀 參與指南,以深入瞭解如何建置和測試程序代碼。
測試
若要執行我們的測試,請先安裝相依性(具有 npm install
或 rush install
),然後使用:npm run unit-test
執行單元測試。
行為規範
此項目已採用 Microsoft 開放原始碼程式代碼。 如需詳細資訊,請參閱 《行為規範》常見問題 或連絡 opencode@microsoft.com,以取得任何其他問題或意見。