1

我有一个 node.js 的场景,我不知道会发生什么。假设有人发出一个 post 请求,然后是对同一资源的另一个 get 请求。发布请求插入数据库,需要一些时间,在此期间节点为获取请求提供服务。由于尚未将资源添加到 DB,因此 node 以错误响应 get 请求。

我的问题:

a) 这种情况可能吗?

b)如果是这样,理想情况下它不应该返回资源吗?我应该如何避免此类并发问题?

4

1 回答 1

0

想想看。如果您正在正确实施基于 url 的服务,则该过程应如下所示:

  1. 客户端 POST 一个新的数据项。使用 url 进行数据收集。
  2. 发布的数据,响应具有唯一的 url 来访问新插入的数据项。
  3. 现在客户端从这个 url 获取数据项。

未经服务器确认,客户端不应假设或猜测新插入项目的未来 url 。客户端可以获取数据项的url:

  1. 通过执行 GET 来收集数据,并获取其中一个数据项的 url。
  2. 通过使用新数据进行 POST,并且该成功帖子的响应返回新数据项的 url。
于 2013-08-24T14:11:46.833 回答