如何通过 Web Worker 中的 Worklight 适配器调用 Web 服务

Posted

技术标签:

【中文标题】如何通过 Web Worker 中的 Worklight 适配器调用 Web 服务【英文标题】:How to call web services via worklight adapter in a web worker 【发布时间】:2016-12-09 04:54:24 【问题描述】:

我需要在我的 worklight 项目中为混合应用程序使用 web worker。我想通过工作线程中的工作灯适配器调用 Web 服务。当我使用“ WL.Client 我的worker.js文件中的.invokeProcedure”方法,我收到错误(WL未定义)。有什么方法可以在我的工作线程中实现适配器调用。

【问题讨论】:

【参考方案1】:

WL.Client.invokeProcedure 是一个客户端 API。它在适配器中不可用,因为具有此方法的 SDK 在应用程序中初始化......而不是服务器。适配器是服务器端实体。看起来您的网络工作者与应用程序不在同一上下文中,因此 API 对它不可用。

【讨论】:

感谢您的回复。是的,你是对的,web worker 与应用程序不在同一个上下文中。 Web 工作者总是在另一个全局上下文中运行。那么有什么方法可以从网络工作者那里调用适配器吗?

以上是关于如何通过 Web Worker 中的 Worklight 适配器调用 Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

chrome 中如何查看 web worker任务

Angular 7.0.1 中的 Web Worker 设置

Web Worker 多线程

angular2 web worker中的停止事件

如何在 Heroku 上使用 Node.js 通信 Web 和 Worker dynos?

一句话总结Web worker,Service worker和worklet