執行命令

上次更新: 2024-02-06
  • 主題:
  • Web SDK
    檢視有關此主題的更多資訊
  • 建立對象:
  • Developer
    User
    Admin
    Leader

在網頁上實作基底程式碼後,您就可以開始使用SDK執行命令。 您不需要等待外部檔案(alloy.js),以便在執行命令之前從伺服器載入。 如果SDK尚未完成載入,SDK會儘快將命令排入佇列及處理。

使用下列語法執行命令。

alloy("commandName", options);

commandName 告訴SDK該做什麼,當 options 是您要傳入命令的引數和資料。 因為可用選項取決於命令,請參閱檔案以瞭解有關每個命令的更多詳細資訊。

承諾備註

Promise 是SDK與網頁上程式碼通訊的基礎。 Promise是一種常見的程式設計結構,並非此SDK或JavaScript所特有。 Promise會當做建立Promise時未知之值的代理。 知道值後,就會使用值「解析」Promise。 處理常式函式可與Promise建立關聯,因此在Promise解析後或解析Promise的程式發生錯誤時,您都可以收到通知。 若要進一步瞭解承諾,請閱讀 本教學課程 或網頁上的任何其他資源。

處理成功或失敗

每次執行命令時,都會傳回Promise 。 promise代表命令的最終完成。 在以下範例中,您可以使用 thencatch 用來判斷命令是否成功的方法。

alloy("commandName", options)
  .then(function(result) {
    // The command succeeded.
    // "result" is whatever the command returned
  })
  .catch(function(error) {
    // The command failed.
    // "error" is an error object with additional information
  });

如果知道指令何時成功對您來說並不重要,您可以移除 then 呼叫。

alloy("commandName", options)
  .catch(function(error) {
    // The command failed.
    // "error" is an error object with additional information
  });

同樣地,如果知道指令何時失敗對您來說並不重要,您可以移除 catch 呼叫。

alloy("commandName", options)
  .then(function(result) {
    // The command succeeded.
    // "value" will be whatever the command returned
  });

回應物件

從命令傳回的所有promise都是以 result 物件。 根據命令和使用者的同意,結果物件將包含資料。 例如,程式庫資訊會作為下列命令中結果物件的屬性傳遞。

alloy("getLibraryInfo")
  .then(function(result) {
    console.log(result.libraryInfo.version);
    console.log(result.libraryInfo.commands);
    console.log(result.libraryInfo.configs);
  });

同意

如果使用者未針對特定目的提供其同意,仍會解析Promise;不過,回應物件將僅包含可在使用者同意的內容中提供的資訊。

本頁內容