1

我有一个基于 express 的应用程序,它从把手模板和一束主干资源提供服务器端呈现的 HTML。从理论上讲,客户端,应用程序类似于服务器端正在发生的事情。

这在开发中一切都很好,但是当节点服务器同时处理许多请求时,我们正在使用的助手被定义/重新定义的机制会中断 - 我们设置助手(在这种情况下登录/未登录登录,但可以是任何东西)然后异步处理其余的请求 - 我们不知道也无法控制这需要多长时间。

我已经发现这是因为服务器上的 Handlebars 实际上是一个全局的——所以每次请求进来时,被调用的助手都是从那里调用的,请求之间的共享对象。

问题是,如何能够为每个返回该特定值的异步请求设置一个助手,并且不会被并发请求污染......?

这是一个测试用例的要点 - 希望能说明问题:

https://gist.github.com/dazld/023df6e1da7a92387720

(如果我的目标不是很明显,只需在评论中ping,我会写一些更清晰的东西)。

谢谢!

4

1 回答 1

1

这是因为您使用 Handlebars 的单个实例并且有很多请求,您会污染另一个请求。

我使用hbshttps://github.com/donpark/hbs),因为它为您的每个请求/渲染创建了一个新的把手实例。

于 2013-06-24T11:38:25.990 回答