Javascript 使用Web Worker在主线程中触发事件?

Javascript 使用Web Worker在主线程中触发事件?,javascript,multithreading,web-worker,Javascript,Multithreading,Web Worker,我有一个网站,它使用navigator.geolocationAPI定期记录用户的位置,主要用于移动设备。这要求屏幕始终打开,我相信你可以想象这并不理想。一位同事建议考虑使用Web Workers,它可以在设备屏幕关闭时在后台运行 不幸的是,我后来发现web工作者似乎无法访问navigatorAPI的全部功能,并且无法使用地理定位。我现在想知道是否可以做一些事情,比如定期从Web Worker调用主线程中的函数,或者定期触发事件来调用地理定位函数 我担心的是,如果主线程处于“休眠”(即屏幕关闭)

我有一个网站,它使用
navigator.geolocation
API定期记录用户的位置,主要用于移动设备。这要求屏幕始终打开,我相信你可以想象这并不理想。一位同事建议考虑使用Web Workers,它可以在设备屏幕关闭时在后台运行

不幸的是,我后来发现web工作者似乎无法访问
navigator
API的全部功能,并且无法使用地理定位。我现在想知道是否可以做一些事情,比如定期从Web Worker调用主线程中的函数,或者定期触发事件来调用地理定位函数

我担心的是,如果主线程处于“休眠”(即屏幕关闭)状态,那么它将不会侦听工作线程的触发器。是这样吗?是否可以按需“唤醒”主线程,并让它运行web worker指定的函数?或者,是否有其他方法可以从Web Worker调用地理位置API