フォーム OnLoad イベント
このイベントは、フォームが読み込まれるたびに発生します。具体的には、次のとおりです。
- 最初のページ読み込み時。
- 新しいレコードの初回保存 (作成) 後。
formContext.ui.addOnLoad およびformContext.ui.removeOnLoad メソッドを使用してこのイベントのイベント ハンドラーを管理します。
注意
フォームの OnLoad イベントが発生したときに、フォームのコントロールが準備できていないことがあります。 コントロールの OnLoad イベントをしようして準備が整うのをお待ちください。 詳細情報: UIを使用してイベント ハンドラー関数をイベントに追加または削除する
非同期 OnLoad イベント ハンドラーのサポート
OnLoad イベント ハンドラーは、イベン ハンドラーから返されたプロミスが解決するのを待機してからフォームを読み込む機能があり、OnLoad イベントを非同期にすることができます。 OnLoad イベント ハンドラーがプロミスを返すと、イベントは非同期になります。
イベント ハンドラーから返された各プロミスが解決されると、フォームが読み込まれます。 返されたプロミスについては、それぞれ 10 秒の制限があります。 その後、プラットフォームは、プロミスがタイムアウトしたとみなします。このタイムアウトはプロミスごとに適用されます。 たとえば、5 つのプロミスが返された場合、合計待機時間は 50 秒です。 たとえばプロミスが拒否されたり、タイムアウトした場合、フォームの読み込み操作は、現在のスクリプトのエラーと同様の動作をします。
OnLoad イベントは、ハンドラーごとに返される 1 つの promise を待機するだけです。 複数の promise が必要な場合は、すべての promise を Promise.all() メソッドでラップして、結果として得られる単一の promise を返すことをお勧めします。 プロミスを返す複数のハンドラーについては、すべてのイベントを呼び出し、必要なすべてのプロミスをラップした単一のプロミスを返す 1 つのハンドラを作成することをお勧めします。 これは、タイムアウトによる待機時間を最小限に抑えるためです。
アプリの設定で非同期 OnLoad を有効にする
非同期onLoadハンドラーを使用するには、アプリの設定で有効にする必要があります。 アプリ設定とは、プラットフォームのコンポーネントで、アプリでサポートされている機能をオン/オフにすることができます。 特定のアプリのために非同期 Onload イベント ハンドラーを有効にする方法:
https://make.powerapps.com に移動します。
それが正しい環境を選択していることを確認します。
左側のナビゲーション ウィンドウから、アプリ を選択します。
アプリを選択し、... (省略記号) を選択します。 編集 を選択します。
コマンド バーで、設定 を選択します。
ダイアログが開いたら、機能 を選択します。
非同期 onload ハンドラー を有効化します。
保存 を選びます。

非同期 OnLoad タイムアウト
非同期ハンドラーを使用した場合、フォームのロードは、プロミスの履行を待機します。 読み込みが時間通りに完了するように、ハンドラーは 10 秒後にタイムアウトの例外を投げ、パフォーマンスを向上させるために非同期 OnLoad イベントを調整することを知らせます。
OnLoad の実行を停止させるシナリオがあるかもしれませんが、タイムアウトを設定することで、操作の発生を止めることができます。 例えば、非同期の OnLoad でダイアログを開き、ユーザーの入力を待ってから保存します。 非同期操作の待ち時間を確保するために、イベント引数 disableAsyncTimeout(executioncontext.getEventArgs().disableAsyncTimeout()) を指定することができます。 **disableAsyncTimeout が設定されている場合、そのハンドラーのタイムアウトは適用されません。 そのハンドラーのプロミスが実行されるのを待機します。
フォームの読み込みのパフォーマンスに影響を与える可能性があるため、注意して使用する必要があります。
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示