Javascript -定期向服务器发送用户位置数据(多线程)
Javascript - send user location data to server at regular intervals (mulit-threading)
我有一个javascript代码,除其他事项外,必须定期将用户的地理位置数据发送到服务器。
如果这是C或Java,我就会为这个任务生成另一个线程,而所有其他功能都在并行线程中进行。
但是考虑到Javascript不支持多线程,我如何完成这个任务?
我找到了一些解决方案指向网络工作者,但鉴于IE只有IE10+支持它,我正在寻找一个更通用的解决方案。
Javascript是单线程的。但是你可以使用setInterval来"模拟"多线程。
function f() {
send-geolocation
}
setInterval(f, 1000)
或
setInterval("send-geolocation()", 1000)
您可以使用几乎所有浏览器都支持的setTimeout
和clearTimeout
函数。
你可以调用递归函数来完成发送位置的任务。
$.ajax()
可以使用jquery函数与服务器异步通信
var sender = function(interval, url, collectGeoData) {
this.interval = interval;
this.url = url;
if (typeof collectGeoData == 'function' ) {
this.collectGeoData = collectGeoData;
}
else return null;
setInterval(send, this.interval);
}
sender.prototype.send = function() {
var data = this.collectGeoData();
$.post(this.url, data);
}
var thread = new sender('...',50000, function() { //collecting geo data })`enter code here`;
相关文章:
- 获取用户位置并将坐标保存在数据库中
- 防止用户在jQuery Mobile中ajax加载页面时单击其他位置
- 使用地理坐标,对更靠近用户的对象进行排序'的位置
- 询问用户是否要打开地理位置
- 有人知道有没有jquery插件可以在图像上写文本,并让用户将其放置在图像内的任何位置
- 一个html/javascript'小工具'知道用户何时单击了小部件外的任意位置
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 谷歌地图/GMAP3 - 绘制从用户地理位置到已知目的地的路线 - 需要帮助
- 谷歌地图 - 用户选择不允许位置
- Chrome/Tampermonkey 用户脚本存储在文件系统上的什么位置
- Phonegap通过WiFi和移动网络而非GPS获取用户位置
- 在谷歌地图上显示用户当前位置并更新
- 如何在不使用地理位置的情况下获得用户所在城市
- 如何检测用户何时在Google Places字段中输入无效位置
- 如何设置用户当前位置以初始化离子框架中的函数
- 谷歌地图赢得'当用户拒绝共享位置时,t初始化
- 谷歌地图:使用自定义标记显示当前用户位置
- Cordova地理位置,等待用户权限
- 如何在文本框中缩进文本和光标的起始位置(用户、密码等)
- 如何使用HTML5地理位置javascript初始化带有地理位置(用户的当前位置)的Google Maps API