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 の例を参照してください。