Как убедиться, что данные загрузки и выгрузки обещаний выполняются в целом? - PullRequest
0 голосов
/ 08 января 2020

У меня есть код html / js, в котором хранится информация о действии, например, что пользователь X совершил щелчок.
Информация хранится в электронных таблицах Google в виде таблицы, где каждая строка соответствует сохраненному действие пользователя.
Каждый раз, когда я сохраняю новое действие, мне нужно знать место [строку], где оно должно быть сохранено, поэтому мне нужно сначала проверить, сколько строк уже занято в электронной таблице, и только потом записывать данные. внутрь. Это код, который я написал для этой цели:

function AddRow (
// params
) {
    // prepare data
    // Read NLines - the number of rows, which are already filled
    gapi.client.sheets.spreadsheets.values.get({ 
        //params
      }).then( function(response) {


        // Write data at NLines+1's row
        gapi.client.sheets.spreadsheets.values.update( 
            {
                //params
            }).then((response) => {
            },(response) => {
            }); 

      }, function(response) {
      });
}

Моя проблема в том, что два пользователя [или даже один пользователь] совершали действия с очень малой разницей во времени, когда оба читали бы одинаково электронную таблицу и получите то же значение NLines, таким образом, данные одного пользователя будут перезаписаны другим.

...