gue*_*tli 13 javascript producer-consumer angularjs
几年前我就认识python和数据库了.
但我想提高我有限的JavaScript知识.对于我的玩具项目,我想在Web浏览器中使用异步队列并使用AngularJS.
在python中有一个很好的类叫做multiprocessing.Queue,我以前用过它.
现在我搜索这样的东西,但是在AngularJS中
第1步:队列中的工作项(粉色圆圈).只是一个视图json字节.
第2步:用户处理数据.
步骤3:out-queue关心将结果发送到服务器.
为什么这个"复杂"的设置?因为我希望应用程序尽可能地响应.队列中应该预先加载一些数据,出队列应该处理响应通信.
另一个好处是,通过此设置,应用程序可以处理服务器或网络中断几分钟.
AngularJS的双向数据绑定立即更新用户编辑的数据并不适合我的问题.或者我错过了什么.我是AngularJS的新手.
图中的粉色圆圈表示JSON数据结构.我想通过一个请求将每个请求推送到浏览器.
例:
用户看到一个问题,然后他需要填写三个字段.例如:
在使用了"提交"后,数据应该被放入队列中.他应该立即得到下一个问题.
题:
是否已经为AngularJS提供了生产者 - 消费者队列?如果没有,如何实施呢?
更新
从客户端发送数据可以使用普通的AJAX实现.预取数据的队列是更复杂的部分.虽然两者都可以使用相同的实现.客户端以超低延迟获取新数据非常重要.队列中每次最多应填充5个项目,以避免客户端等待数据.
在我的情况下,如果浏览器关闭并且队列中的项目丢失则无关紧要.填充队列在服务器部分是只读的.
我没有修复AngularJS.如果有充分的理由,我很乐意改变框架.
保留浏览器重新加载之间的队列可以使用localStorage(html5)完成
我会研究承诺,因为它们提供了您似乎需要的异步功能,可能与在初始化时引入所有或一些问题相结合。如果您确实需要离线查看服务工作线程,尽管它们仅限于较新的浏览器
如果您无法使用服务工作人员,您可以创建一个服务(或工厂)来保存您的所有问题或提前阅读。您可以使用 $http 服务来尝试获取更多答案,如果不可能,您可以使用现有的内容,直到网络连接再次出现为止。
网络检查可以通过 $http 服务来完成,例如通过尝试在 $interval 循环中获取新答案(并发布答案)。
| 归档时间: |
|
| 查看次数: |
1672 次 |
| 最近记录: |