我正在使用superagent-cache在Node Express服务器上缓存响应。
因此,请求如下所示:

myServer.com/api/posts?id=21


并且缓存可以完美地工作。 Node从API服务器获取响应后,它将相同的数据传递给所有来访用户,而不是一次又一次地调用API。

现在的问题是我想在请求中添加用户的ID。因此,新请求变为:

myServer.com/api/posts?id=21&userId=123


现在,缓存变得特定于用户。 Superagent将其作为单独的请求,每次为每个用户获取。这是多余的。有什么办法可以告诉Superagent避免userId参数?

最佳答案

我是superagent-cache的作者。很高兴您喜欢它!

您可以使用.pruneQuery chainable来执行具有给定参数的查询,但是将没有该参数的查询缓存为所生成键的一部分。

您的新代码应如下所示:

superagent
  .get('myServer.com/api/posts')
  .query({id: id, userId: userId})
  .pruneQuery(['userId'])
  .end(function (error, response){
    // handle response
  }
);

关于javascript - 使用superagent-cache对不同的参数缓存HTTP响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36889765/

10-10 23:43