用戶端 API 初始化

Microsoft。PowerPages.onPagesClientApiReady

Power Pages 用戶端 API 初始化不會在頁面載入時立即發生。 使用 Microsoft.PowerPages.onPagesClientApiReady 函式將 API 物件指派到 $pages 準備好時,這樣腳本只有在初始化完成後才能存取頁面 API。 你可以用兩種方式初始化它。

Important

該 Microsoft.Dynamic365.Portal.onPagesClientApiReady 別名已被棄用。 它仍然能讓現有腳本繼續執行,但會寫入一次性警告給瀏覽器主控台,並在未來版本中移除。 請改用 Microsoft.PowerPages.onPagesClientApiReady。

基於回調的 API 準備度

使用回調函式,當 API 物件準備好時,將它指派給你定義的變數。 有兩個例子說明了:

透過使用匿名函數:

Microsoft.PowerPages.onPagesClientApiReady(($pages) => {
    const forms = $pages.currentPage.forms.getAll();
    console.log(`Found ${forms.length} forms on the page.`);
});

透過使用命名函數:

function start($pages){
    const forms = $pages.currentPage.forms.getAll();
    console.log(`Found ${forms.length} forms on the page.`);
}

Microsoft.PowerPages.onPagesClientApiReady(start)

基於承諾/等待的 API 準備狀態

Uses await 來處理函式回傳 Microsoft.PowerPages.onPagesClientApiReady 的承諾,以實現更乾淨的非同步流程。

let $pages = await Microsoft.PowerPages.onPagesClientApiReady();
const forms = $pages.currentPage.forms.getAll();
console.log(`Found ${forms.length} forms on the page.`);

何時使用每種方法

下表說明了何時使用每種方法。

Approach 何時使用
基於回調的 API 準備度 當你需要支援舊版瀏覽器或不支援 async/await的舊腳本,或是想註冊多個處理程式,讓 API 準備好時才會執行,這點就用它。 非常適合事件驅動的模式。
基於承諾/等待的 API 準備狀態 用於支援 async/await 更乾淨、序列化程式碼的現代 JavaScript 環境。 當你的邏輯依賴 API 準備好再繼續執行時,這會比較好。

Tip

如果你的程式碼庫已經使用 async/await,建議採用基於承諾的方式以保持一致性。

本文及 客戶端 API 控制類型 中的範例使用基於 async 回調的模式搭配回調,讓每個範例在呼叫非同步方法時都能使用 await 。 當你自己的程式碼沒有使用 await. 時,就省略關鍵字async。 每個範例都展示一個或多個 API 呼叫,而 代理範例 則建立在前一個範例定義的值之上。 關於結合多個 API 以實作完整情境的範例,請參見 Power Pages 用戶端 API 範例。