Ответ 1
Вот что вы делаете:
- напишите промежуточное программное обеспечение, которое ваше приложение может использовать вместо промежуточного ПО express.session по умолчанию.
- в этом промежуточном программном обеспечении, основанном на
host
запросе заголовка запроса и настройке на примере промежуточного слоя экспресс-сессии на домен, а затем фактически выполнить функцию промежуточного программного обеспечения, подходящую для этого запроса.
псевдокод
var mwCache = Object.create(null);
function virtualHostSession(req, res, next) {
var host = req.get('host'); //maybe normalize with toLowerCase etc
var hostSession = mwCache[host];
if (!hostSession) {
hostSession = mwCache[host] = express.session(..config for this host...);
}
hostSession(req, res, next);
//don't need to call next since hostSession will do it for you
}
app.use(virtualHostSession);
Мои запросы очень асинхронны, и если я просто устанавливаю его для всего приложения при каждом запросе, я боюсь, что он не сработает, когда сразу вызовут два вызова.
Абсолютно ты не можешь этого сделать. Это будет совершенно неверно.