同时调用具有缓存的 hapi 服务器方法会发生什么情况?

What happens a hapi server method with caching gets called concurrently?

假设我有一个服务器方法

server.method('foo', foo, { cache: { expiresIn: ###; } });

假设第一次调用 foo 需要 15 秒。

如果第二个请求在第一个请求调用后几秒调用 server.methods.foo(),hapi 会做什么?

只要缓存没有过时,hapi 就会使方法和 return 缓存的值短路。如果它已过时,foo 方法将再次 运行,重新水化缓存,并 return 结果。