Я никогда не использовал 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
})
Я читал о функциях обратного вызова, но, похоже, это еще больше расширит мой код. Зачем мне вызывать другую функцию для выполнения действия, связанного с функцией, в которой я нахожусь?