Я хотел бы знать, как NodeJS обрабатывает несколько запросов GET от разных пользователей / браузеров, для которых отправлено событие, возвращающее результаты?Я хотел бы думать об этом, как о том, что каждый раз, когда пользователь выполняет запрос GET, создается впечатление, что новый сеанс запускается для этого пользователя.
Например, если у меня есть этот запрос GET
var tester = require('./tester-class');
app.get('/triggerEv', async function(req, res, next) {
// Start the data processing
tester.startProcessing('some-data');
// tester has event emitters that are triggered when processing is complete (success or fail)
tester.on('success', function(data) {
return res.send('success');
}
tester.on('fail', function(data) {
return res.send('fail');
}
}
Я думаю о том, что если я открою браузер и выполню этот запрос GET, передав some-data
, и начну обработку.Затем откройте другой браузер, чтобы выполнить этот запрос GET с другими данными (чтобы симулировать одновременный доступ к нему нескольких пользователей), он перезапишет предыдущую функцию startProcessing
и снова запустит ее с новыми данными.
Таким образом, если несколько пользователей выполнят этот запрос GET одновременно, будет ли он обрабатывать его отдельно для каждого пользователя, как если бы это были разные и независимые сеансы, а затем возвращаться, когда есть ответ для сеансов каждого пользователя?Или это будет делать, как я упоминал выше (в этом случае мне придется каким-то образом управлять различными сеансами для каждого пользователя, который запускает этот запрос GET)?
Я хочу сделать так, чтобы каждый пользователь, который выполняет этоЗапрос GET не мешает другим пользователям, которые одновременно выполняют этот запрос GET, и для каждого пользователя возвращается правильный ответ на основе его собственных данных, отправленных в функцию startProcessing
.
Спасибо, янадеюсь, что я понимаю.Уточню если нет.