Я настроил функцию Http Cloud в качестве бэкэнда для системы бронирования.Эта функция обращается к данным из Cloud Firestore, извлекая существующее время резервирования и проверяя, перекрывает ли резервирование существующее время.Это не будет проблемой, если будет запущен только один параллельный экземпляр запроса, однако я заметил, что при запросе к одной и той же функции из нескольких источников в одно и то же время функция будет выполнять эти множественные запросы несколько параллельным образом на основев моем журнале.
Ниже приведен фрагмент моей функции:
exports = module.exports = functions.https.onCall(async (data, context) => {
const { stand_id, user_id, reservation } = data;
const isReservationValid = await checkAvailability(reservation, stand_id);
if (!isReservationValid) {
throw new functions.https.HttpsError('aborted', 'Errr');
}
return await createReservation(stand_id, user_id, reservation);
});
Проблема возникает, если я вызываю эту функцию и передаю тот же stand_id, и перекрывающиеся времена резервирования, я 'мы заметили, что функция не будет ждать, когда будет вызвана первая функция, которая завершится, прежде чем запускать последующие запросы.
Есть ли способ лучше решить эту проблему?Или любой обходной путь?Или я просто неправильно понял приведенную ниже документацию ?: