HostObjectAsyncProxy class

异步主机对象代理。 通过 CoreWebView2.AddHostObjectToScript 添加的主机对象使用 window.chrome.webview.hostObjects.{name}作为主机对象代理公开。 主机对象代理是承诺,解析为表示主机对象的 对象。 如果应用未添加名称为 的对象,则拒绝承诺。 当 JavaScript 代码访问 对象的属性或方法时,将返回 promise。 promise 解析为从属性或方法的主机返回的值。 如果出现错误,则拒绝承诺;例如,对象或参数上没有任何属性或方法无效。

主机对象代理是 JavaScript 代理对象,可截获所有属性 get、属性 set和方法调用。 属于 或 原型的属性 FunctionObject 方法在当前文档的 JavaScript 引擎中运行。 此外,数组中的任何 chrome.webview.hostObjects.options.forceLocalProperties 属性或方法也会在当前文档的 JavaScript 引擎中运行。 这默认包括在 JavaScript 中具有含义的可选方法,例如 toJSONSymbol.toPrimitive。 根据需要向数组添加更多内容。

扩展

方法

sync()

一个方法,该方法返回同一主机对象的同步主机对象代理的 promise。 例如, chrome.webview.hostObjects.sample.methodCall() 返回异步主机对象代理。 sync改用 方法获取同步主机对象代理:const syncProxy = await chrome.webview.hostObjects.sample.methodCall().sync()

方法详细信息

sync()

一个方法,该方法返回同一主机对象的同步主机对象代理的 promise。 例如, chrome.webview.hostObjects.sample.methodCall() 返回异步主机对象代理。 sync改用 方法获取同步主机对象代理:const syncProxy = await chrome.webview.hostObjects.sample.methodCall().sync()

sync(): Promise<HostObjectSyncProxy>;

返回

表示同步主机对象代理的承诺。