Надежное увеличение/уменьшение ячеек с помощью Javascript

#google-sheets-api

Вопрос:

Я создал небольшое приложение для веб-страниц с таблицами Google на Javascript, используемыми в качестве базы данных для некоторых электронных компонентов, где пользователь может устанавливать/увеличивать/уменьшать их количество.

Моя проблема в том, что я не могу найти способ простого увеличения-уменьшения на один, который был бы надежным для нескольких пользователей (что-то вроде сервера Google Листов будет обрабатывать запросы на увеличение и увеличение).

Мой текущий код работает таким образом (псевдокод):

 function increase_cell() {
    write_cell(read_cell()   1);
}
 

Это проблема, когда я хочу, чтобы несколько пользователей увеличивали ячейку одновременно, потому что, если они сделают это за одно и то же время (чтение и запись занимают около 1 секунды, так что это довольно большое окно), одно из двух приращений будет потеряно из-за перезаписи другого.

Я знаю, что это лучший способ сделать это, но я не смог ничего найти в документации, и я не знаю, является ли это функцией или нет. Вот почему я задаю этот вопрос в первую очередь.

Комментарии:

1. Систему можно разработать, может быть, она уже была, я не исследовал. Но в стандартных системах баз данных есть способ справиться с этой ситуацией, в то время как в таблицах этого нет. Потенциально вы можете написать сценарий для защиты ячейки(ов), записать данные, а затем снять защиту с ячейки(ов). В системах баз данных есть способ сделать это автоматически за кулисами.