【问题标题】:NodeJs - Read file to dynamically update a geojson on a mapNodeJs - 读取文件以动态更新地图上的 geojson
【发布时间】:2016-11-02 12:57:33
【问题描述】:

我正在开发一个使用 NodeJs (ExpressJS) 和 AngularJS(前端)构建的项目。

我有一张显示 geoJSON 多边形的地图。多边形的颜色必须从实时数据文件中读取。颜色可能每秒更新一次。

目前,angularJS 每秒发出一个$http.get 请求

$interval(function(){
    MapService.getRealTimeData().then(function(resp){
        $scope.showDataError = false;
        $scope.geojson = createGeoJsonObject(resp.data);
    }, function(err){
        $scope.showDataError = true;
    });
}, 1000)

$http 调用一个 ExpressJS API,它读取文件并返回一个 geojson。

这是一个好方法吗?我应该改变它并使用 Socket.io 吗?当实时数据文件发生变化时,服务器是否应该发送数据?

编辑

感谢您的评论,我将继续以这种方式处理电话。很抱歉提出这种“问题”,但感谢您的帮助。

【问题讨论】:

  • 我认为,您的问题将很快被关闭,因为它是primarily opinion-based,但我想我猜想使用带有 socket.io 的 websocket 对您的情况来说是更好的选择,请查看stackoverflow.com/q/6806263/972240 了解更多信息。
  • 我写错了我的问题然后抱歉。我只是想知道我的工作方式是否会导致问题,或者这不是一种好的工作方式

标签: angularjs node.js file express real-time


【解决方案1】:

多久会更新一次?

如果无论如何接近1000ms,你可以继续做你现在做的事情,没有理由使用Socket.Io,除非你想以简单的方式实现更复杂的功能;看起来不错。

【讨论】:

  • 每秒我都在调用读取文件并覆盖 json 文件以将其发回的服务器
  • 更复杂的功能是什么意思?我需要创建另一个页面,该页面也将每秒读取相同的文件
  • 对于复杂的功能,我的意思是如果每个访客都有自己的“地图”,并且每个人都需要“房间”。所以你只是每秒更新一次文件?那么你不妨每秒做一次请求。就像 gevorg 说的那样,我认为你最好避免这类问题,因为你真的没有我们可以回答的直接问题。
  • 好的,谢谢!我将编辑我的问题以标记这不是一个真正的问题!谢谢你的帮助伙计
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多