如何根据mongo查询中止冗长的nodejs函数?

时间:2014-04-05 08:05:45

标签: javascript ajax node.js mongodb

基本架构是:

  1. 我的客户向AJAX
  2. 发送了node个请求
  3. 我的nodemongo中输入了请求,设置状态'流程'并开始一个冗长的功能
  4. 当该函数返回时,它会在mongo中更新请求的状态,以完成'
  5. 我的node在使用mongo
  6. 进行验证后向客户发回回复

    现在假设客户端正在处理上一个请求时说明上一个请求将被中止,客户端会向我的node发送另一个请求。我的node会及时更新mongo中之前请求的状态,以便中止'

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

    我能做的一件事就是在我的功能中加入一些检查以检查状态是否已更新为“中止”,如果是,则返回当时和那里。

    我的mongo检查必须是同步的,我能想到的唯一方法就是将callback放在callback内,依此类推。我的功能已经有一些callback s并且添加更多功能会使其更难以管理。

    有人能建议我更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可能需要查看my similar question - 目前我正在为每个客户端创建单独的数据库连接,只是为了响应早期断开连接而关闭它们,但可能有更好的方法来实现它,我们将会见(: