【问题标题】:How to abort a lengthy nodejs function based on mongo query?如何中止基于 mongo 查询的冗长 nodejs 函数?
【发布时间】:2014-09-09 07:52:49
【问题描述】:

基本架构是:

  1. 我的客户向我的node 发送了一个AJAX 请求
  2. 我的nodemongo 中输入请求,设置状态“进程”并启动一个冗长的函数
  3. 当函数返回时,它会将mongo 中的请求状态更新为“已完成”
  4. 我的node在用mongo验证后发回一个响应给客户端

现在假设客户端在处理前一个请求时向我的node 发送另一个请求,说前一个请求将被中止。我的node 会立即将mongo 中先前请求的状态更新为“中止”。

现在如何让我的node 退出该功能?

我可以做的一件事是在我的函数中进行一些检查,以检查状态是否已更新为“中止”,如果是,则立即返回。

我的mongo 检查必须是同步的,我能想到的唯一方法是将callbacks 放入callbacks 等等。我的函数已经有一些callbacks,再添加一些会使它更加难以管理。

谁能给我建议一个更好的方法?

【问题讨论】:

    标签: javascript ajax node.js mongodb


    【解决方案1】:

    您可能想看看my similar question - 目前我正在为每个客户端创建单独的数据库连接并简单地关闭它们以响应早期断开连接但可能有更好的方法,我们会看到( :

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多