Работа с Google API и node.js для обновления Google Sheet - PullRequest
0 голосов
/ 10 апреля 2020

Я никогда не использовал javascript, поэтому я довольно новичок здесь, однако мне нужно обновить лист Google и затем извлечь значение, но иногда обновление занимает больше времени, чем запускается следующая функция чтения, я понимаю, что sheets.spreadsheets.values.update isyn c функция, однако я получаю эту ошибку, если использую await

        await sheets.spreadsheets.values.update({
        ^^^^^

SyntaxError: await is only valid in async function

Почему я должен это сделать; Мне нужно выполнить LookUp, поэтому, читая здесь и там, решение состоит в том, чтобы использовать функцию поиска листа (MATCH) и прочитать результат. Затем я записываю в определенную ячейку c значение, которое хочу найти, и затем читаю результат, что позволяет мне обновить относительную строку вместо добавления новой. В большинстве случаев это работает, однако иногда обновление (sheets.spreadsheets.values.update), кажется, занимает больше времени, а sheets.spreadsheets.values.get после чтения предыдущего значения.

Другая проблема, с которой я сталкиваюсь, - это чтение ответа sheets.spreadsheets.values.get функция, единственный способ, который я нашел, это выполнить вход в систему внутри функции, она работает, но она портит мой код, возможно, есть еще один способ сделать это, вот что я смотрю:

sheets.spreadsheets.values.get({
  spreadsheetId: '12RDf3*********a_XP3di3g',
  range: 'Settings!A1',
  valueRenderOption: 'FORMATTED_VALUE',      
  dateTimeRenderOption: 'FORMATTED_STRING',
  auth: auth
  }, (err, response) => {
    //do your stuff here or response will have no value outside
})

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...