Microsoft。PowerPages.onPagesClientApiReady
Power Pages页面加载时不会立即发生客户端 API 初始化。 使用 Microsoft.PowerPages.onPagesClientApiReady 函数将 API 对象 $pages 分配到准备就绪时,因此脚本只能在初始化完成后访问页面 API。 可以通过两种方式初始化它。
重要
别名 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)
基于 Promise/await 的 API 就绪情况
使用 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 准备就绪时运行的多个处理程序,请使用。 非常适合事件驱动的模式。 |
| 基于 Promise/await 的 API 就绪情况 | 在支持 async/await 更简洁有序代码的新式 JavaScript 环境中使用。 最好是逻辑取决于 API 在继续执行之前准备好的 API。 |
Tip
如果代码库已使用 async/await,则首选基于 Promise 的方法来实现一致性。
本文和 客户端 API 控件类型 中的示例将基于回调的模式与回调配合使用 async ,以便每个示例在调用异步方法时都可以使用 await 。 如果自己的代码不使用await,async请省略关键字。 每个示例都演示了一个或多个 API 调用,代理示例基于前面的 示例 定义的值生成。 有关合并多个 API 以实现完整方案的示例,请参阅Power Pages客户端 API 示例。