Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save oshliaer/388503c4c7fb78da2aecf3c72d6a5630 to your computer and use it in GitHub Desktop.
Save oshliaer/388503c4c7fb78da2aecf3c72d6a5630 to your computer and use it in GitHub Desktop.
Примеры Best Practices. Use batch operations

Массовые операции

Best Practices. Use batch operations

Код ниже неоптимальный, т.к. добавление строки происходит на каждой итерации цикла

/* до этого момента происходила магия */
   
  sheet.clear();

  sheet.appendRow(["id", "url", "hide_url"]);

  while (contents.hasNext()) {
    file = contents.next();
    name = file.getName();
    url = file.getId();
    hide_url = file.getUrl();
    date = [name, url, hide_url];
    sheet.appendRow(date);
  }
   
/* продолжение колдовства */

Необходимо создать массив данных и записать его один раз

/* до этого момента происходила магия */
  
  sheet.clear();

  var values = [
    ["id", "url", "hide_url"]
  ];

  while (contents.hasNext()) {
    var file = contents.next(),
      name = file.getName(),
      url = file.getId(),
      hide_url = file.getUrl(),
      date = [name, url, hide_url];
    values.push(date);
  }

  if (values.length)
    sheet.getRange(1, 1, values.length, values[0].length).setValues(values);
    
/* продолжение колдовства */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment