Показать сообщение отдельно
  #5 (permalink)  
Старый 21.01.2022, 16:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Немного добавил инфы по тесту...
const app = require('express')()

const host = '127.0.0.1'
const port = 7000

let s1 = 0
app.get('/start1', (req, res) => {
	const number = ++s1
	console.log('Запрос start1 ' + number)
	test()
		.then(_ => res.send('test1 завершил работу'))
})

let s2 = 0
app.get('/start2', (req, res) => {
	const number = ++s2
	console.log('Запрос start2 ' + number)
	test()
		.then(_ => res.send('test2 завершил работу'))
})

app.use((req, res, next) => {
  res.status(404).type('text/plain')
  res.send('Not found')
})

app.listen(port, host, function () {
  console.log(`Server listens http://${host}:${port}`)
})
let i = 0
function test() {
	return new Promise((resolve, reject) => {
		const number = ++i
		console.log('старт скрипта ' + number)
		setTimeout(_ => {
			console.log('конец скрипта ' + number)
			resolve()
		}, 6000)
	})
}

Вывод сообщений...
Запрос start1 1
старт скрипта 1
конец скрипта 1
Запрос start1 2
старт скрипта 2
конец скрипта 2
Запрос start1 3
старт скрипта 3
Запрос start2 1
старт скрипта 4
конец скрипта 3
конец скрипта 4

Т.е. даже обработка запроса не "освобождается" пока не даст ответ на первый запрос...
Ответить с цитированием