Javascript 我应该使用Web Workers还是setInterval()

Javascript 我应该使用Web Workers还是setInterval(),javascript,jquery,ajax,cordova,web-worker,Javascript,Jquery,Ajax,Cordova,Web Worker,我正在使用phonegap构建应用程序。目前,我需要使用相同的登录id控制并发用户访问 我需要向web api服务器发送一个ajax请求,以检查是否有用户使用相同的登录id。此ajax请求需要每30秒发送一次 如果api服务器返回“Y”,表示超过1人使用同一登录帐户,我需要关闭应用程序并返回登录屏幕 我担心的是,如果我使用setInterval(),ajax调用将对主UI产生影响。在这种情况下,我应该使用web workers吗 使用Ajax请求。默认情况下,它们是异步的,等待服务器返回响应不会

我正在使用phonegap构建应用程序。目前,我需要使用相同的登录id控制并发用户访问

我需要向web api服务器发送一个ajax请求,以检查是否有用户使用相同的登录id。此ajax请求需要每30秒发送一次

如果api服务器返回“Y”,表示超过1人使用同一登录帐户,我需要关闭应用程序并返回登录屏幕


我担心的是,如果我使用setInterval(),ajax调用将对主UI产生影响。在这种情况下,我应该使用web workers吗

使用Ajax请求。默认情况下,它们是异步的,等待服务器返回响应不会以任何方式影响主UI


还请注意,有许多技术可以提供比每30秒轮询更好的用户体验。如果您对替代实现感兴趣,请查看web套接字

首先,不要使用
setInterval
使用
setTimeout
并在每次需要时再次调用它-即在ajax请求结果的回调中。其次,
setInterval
(和
setTimeout
)只是将一个函数(在本例中为异步函数)排队等待稍后调用,只要您没有对响应进行任何繁重的计算(我无法想象您是基于您的用例),它对主UI线程的影响应该是最小的。