В Google Sheets я использую этот код для создания рабочей папки и рабочего календаря после того, как пользователь отредактировал некоторые ячейки, но у меня есть некоторые проблемы: createFolder () ожидает возврата createCalendar () и только после этого он выполняет.
function onEdit(e) {
var eRange = SpreadsheetApp.getActiveSpreadsheet().getActive().getActiveRange();
var eRow = eRange.getRow();
var eCol = eRange.getColumn();
if (eCol == 1) {
creatieFolder(eRow);
createCalendar(eRow);
}
}
function createFolder(eRow) {
var folderID = DriveApp.getFolderById(parentFolderID).createFolder("test name").getId();
SpreadsheetApp.getActiveSpreadsheet().getActive().getRange(eRow, 2).setValue(folderID);
return folderID;
}
function createCalendar(eRow) {
var calendar = CalendarApp.createCalendar("test name");
SpreadsheetApp.getActiveSpreadsheet().getActive().getRange(eRow, 3).setValue(calendar.getId());
return calendar.getId();
}
Я полагаю о кешировании, потому что я вижу значение folderID во 2-м столбце после выполнения createCalendar () в то же время, что и calendarID в 3-м столбце.И я хочу видеть folderID перед calendarID.Как это сделать?