我有一个非常简单的应用程序,它由一个用AngularJS编写的前端和一个用Django Rest Framework编写的API组成。我的应用程序每隔x秒轮询一个API端点,以查看是否有新的更改。在
这些代码每5秒运行一次
var resource = TokenRestangular.one("jobs", job_id);
resource.then(function (objects) {
//if we have job completed = true then do something else.
},
我知道这是一种非常old school
的方式。所以我的问题是,我能用websockets
来查找AngularJS中的API资源吗?在
我不想重写一个新的API,这样API就可以同时支持REST连接和HTTP上的websockets吗?在
1。客户端
用角度代码编写一个服务,它将创建到websocket服务器的连接。使用promise,您将在每次收到websocket包时更新应用程序的$scope。像这样:
然后在控制器中:
^{pr2}$2。服务器端
在API前面,编写一个websocket服务器,它将以适当的格式推送JSON数据。例如,您可以挂接模型信号(save,update)一个将模型的JSON序列化推送到客户机的函数。这样,对后端数据库的所有更新都将立即反映到客户端。在
为此,您可以使用一个像django-socketio这样的预先制作的包,它似乎非常流行。在
如果您的websocket服务器发送的数据与模型和范围中的数据匹配,我想它可以符合REST标签。在
相关问题 更多 >
编程相关推荐