Обрабатывать событие одно за другим node.js - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть сервер отдыха. Существует два API для up-client и down-client, которые вызываются клиентом при подключении и отключении. Если клиент подключается, я сохраняю данные в mongodb и удаляю их на down-client. Я сталкиваюсь с проблемой, если события up-client и down-client происходят с очень коротким интервалом, например если up-client все еще обрабатывает и down-client пришел, иногда обработчик down-client будет выполняться даже до того, как up-client завершит свое выполнение. Итак, моя БД переходит в недопустимое состояние для подключенных клиентов.

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

1 Ответ

0 голосов
/ 19 ноября 2018

вы должны сделать процесс синхронным. Только когда событие down-client должно быть запущено, когда up-client заканчивает выполнение.

вы можете делать синхронные вызовы с помощью Async await, которая лучше всего подходит для синхронного программирования.

или традиционные методы обратного вызова

...