【问题标题】:Updating front end data as backend does analysis在后端进行分析时更新前端数据
【发布时间】:2018-02-06 18:20:46
【问题描述】:

我一直在自学网页设计并想实现一些东西,但我真的不知道如何实现它,即使我可以。

我处理过的唯一前端是 angular 4,唯一处理过的后端是 django rest 框架。我已经设法在 drf 中完成了用户模型,并在前端使用 json Web 令牌对用户进行了身份验证,并完成了不同类型的 get 和 post 请求。

我想要做的是前端有一个按钮,当按钮被点击时,它会发送一些get请求,基本上运行一个文本挖掘算法会产生一个列表,可能需要一些时间才能完全完成,可能在 20-30 秒的范围内,但我不希望用户等待那么长时间来取回包含完全编译列表的单个响应。

是否可以说以角度创建一个表,然后后端每隔几秒钟发送另一个包含更多数据的响应,然后后端将新结果附加到该表中。比如:

  1. 00.00s |按钮 -> GET 请求
  2. 01.00s drf 开始分析
  3. 05.00s drf 返回总列表的第一个估计 10%
  4. 09.00s drf 发现多出 10%,估计返回总列表的 20%

然后重复这个过程,直到算法停止。该列表的大小会非常小,可能是一个大约 20 个字符串的列表,每个字符串大约 15 个单词,..

我已经尝试在 django 中在 for 循环中发送多个响应,但是 angular 前端只接收到第一个响应,然后不再收听。

【问题讨论】:

    标签: django angular django-rest-framework


    【解决方案1】:

    不,这是不可能的。每个请求将是一个响应,而不是多个。

    您有两个选择:
    - 只需从/start 之类的端点开始您的算法,然后在/state 之类的端点上检查间隔内的状态
    - 阅读 websockets 或尝试firebase(或angularfire)。这提供了双向通信

    【讨论】:

    • 感谢您的回复,我会调查您的建议。
    猜你喜欢
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 2021-10-11
    • 2018-05-27
    • 2015-10-31
    • 2013-08-23
    相关资源
    最近更新 更多