クライアント API の初期化

Microsoft。PowerPages.onPagesClientApiReady

Power Pagesクライアント API の初期化は、ページが読み込まれるとすぐには発生しません。 Microsoft.PowerPages.onPagesClientApiReady関数を使用して、準備ができたら API オブジェクトを$pagesに割り当てます。そのため、スクリプトは初期化が完了した後にのみページ API にアクセスできます。 2 つの方法で初期化できます。

重要

Microsoft.Dynamic365.Portal.onPagesClientApiReadyエイリアスは非推奨です。 既存のスクリプトが引き続き実行されるように動作しますが、ブラウザー コンソールに 1 回限りの警告を書き込み、今後のリリースで削除されます。 Microsoft.PowerPages.onPagesClientApiReady を代わりに使用します。

コールバック ベースの API の準備

準備ができたら定義した変数に API オブジェクトを割り当てるコールバック関数を使用します。 2 つの例は、次の方法を示しています。

匿名関数を使用する方法:

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)

Promise/await ベースの API の準備

await を使用して、よりクリーンな非同期フローのMicrosoft.PowerPages.onPagesClientApiReady関数によって返される promise を処理します。

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 の準備ができたときに実行される複数のハンドラーを登録する場合に使用します。 イベント ドリブン パターンに最適です。
Promise/await ベースの API の準備 よりクリーンでシーケンシャルなコードの async/await をサポートする最新の JavaScript 環境で使用します。 実行を続行する前に、ロジックが API の準備に依存する場合に最適です。

Tip

コードベースで既に async/awaitを使用している場合は、一貫性のために Promise ベースのアプローチを使用します。

この記事と クライアント API コントロール型 の例では、コールバック ベースのパターンと async コールバックを使用します。これにより、各例では非同期メソッドを呼び出すときに await を使用できます。 独自のコードでawaitを使用しない場合は、async キーワードを省略します。 各例では、1 つ以上の API 呼び出しを示し、 エージェントの例は 前の例で定義した値に基づいて構築されています。 複数の API を組み合わせて完全なシナリオを実装する例については、Power Pagesクライアント API の例を参照してください。