Я использую API Google Sheets для копирования листа и хочу передать идентификатор нового листа в переменную.
Я могу успешно получить идентификатор листа в функции обратного вызова (используя result.data.sheetId
), но я изо всех сил пытаюсь использовать его вне функции.
Я использую синтаксис async
/ await
, и я также экспериментировал с utils.promisify
, но не повезло!
async function copySheet(jwt, apiKey, spreadsheetId, range) {
const sheets = google.sheets({ version: 'v4' });
let newSheetId = await sheets.spreadsheets.sheets.copyTo({
"spreadsheetId": spreadsheetId,
"sheetId": 0,
"auth": jwt,
"key": apiKey,
"resource": {
"destinationSpreadsheetId": spreadsheetId,
}
}, function (err, result) {
if (err) {
throw err;
}
console.log(result.data.sheetId);
return result.data.sheetId;
});
console.log(newSheetId);
}
Первый console.log
показывает номер, который я хочу, но второй записывает undefined
.
Есть ли у вас какие-либо предложения, позволяющие мне использовать sheetId вне обратного вызовафункционировать?