如何在不使用req和res.locals的情况下在NodeJS中实现ThreadLocal变量功能?

问题描述 投票:2回答:1

我有一个场景,我需要为每个请求做一些业务逻辑和日志记录。因此,要存储的数据应与其他请求互斥。

我不能使用res.locals或req对象,因为处理应该基于事件开始。事件回调不包含这些对象。

它基本上保存了bookshelfjs的事件。

initialize: function(){

  this.on("saving",function(model, attrs, options){
    //do some stuff
    //require data from request
   });
}
javascript node.js express bookshelf.js
1个回答
1
投票

你没有Node.JS中的线程,你有continuations

因此,要看的一些包装是continuation-local-storagerequest-local-storage

你可以用(ab)使用Domain API来实现类似的东西。或者,如果您可以适当地构造闭包或回调参数,则可以完全取消对它的需求。

© www.soinside.com 2019 - 2024. All rights reserved.