首页 > 解决方案 > 如何避免调用函数的缓存

问题描述

在 Google 表格中,我在用户编辑某些单元格后使用此代码创建工作文件夹和工作日历,但我有一些问题: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();
}

我想关于缓存,因为在执行 createCalendar() 之后,我在第二列中看到了 folderID 的值,同时我在第三列中看到了 calendarID。我想在 calendarID 之前查看 folderID。这个怎么做?

标签: google-apps-scriptgoogle-sheets

解决方案


推荐阅读