Можно ли сделать более одного HTTP-запроса одновременно в Node.js? - PullRequest
0 голосов
/ 03 июня 2019

Я хотел бы отправить два или более HTTP-запроса в одно и то же микро время, я знаю, что это невозможно, может быть, потому что Nodejs - однопоточный язык и имеет очередь.

Я создал источник событий идобавлен как 5 слушателей, когда я что-то посылаю, он отправляет HTTP-запросы.

const events = require('events');
const eventEmitter = new events.EventEmitter();

const callback = ()=>{
    console.log(new Date().getTime());
    fetch('https://jsonplaceholder.typicode.com/todos/1')
        .then(response => response.json())
        .then(json => console.log(json));
};
eventEmitter.on('message',callback);

// second request
eventEmitter.on('message',callback);

// third request
eventEmitter.on('message',callback);

// forth request
eventEmitter.on('message',callback);

// fifth request
eventEmitter.on('message',callback);

eventEmitter.emit('message');


Вот вывод

1559556527258
1559556527276
1559556527277
1559556527278
1559556527280
{ userId: 1, id: 1, title: 'delectus aut autem', completed: false }
{ userId: 1, id: 1, title: 'delectus aut autem', completed: false }
{ userId: 1, id: 1, title: 'delectus aut autem', completed: false }
{ userId: 1, id: 1, title: 'delectus aut autem', completed: false }
{ userId: 1, id: 1, title: 'delectus aut autem', completed: false }


Я ожидал, что запросы будут выполняться в одно и то же время.Есть ли другой способ отправить эти запросы в одно и то же время?

1 Ответ

0 голосов
/ 03 июня 2019

Я просто пытаюсь проверить транзакции "MySQL", если они работают должным образом, некоторые пользователи одновременно отправляют запросы в мое приложение, поэтому они дважды используют один и тот же, например, код купона.

Возможно, первым простым шагом было бы написать небольшой модульный тест, который проверяет транзакции бизнес-логики без выполнения части обмена сообщениями HTTP.

...