Вы можете использовать Thread и запускать оба метода параллельно, используя многопоточность. Вам нужно будет переопределить run()
и вызвать Thread.start()
Обратите внимание, что вам придется позаботиться о синхронизации ваших методов.
Также обратите внимание: вы получите «реальный параллельный запуск», только если ваш компьютер имеет 2+ ядра, однако, если это не так, ОС будет имитировать «параллельный» запуск для вас.
Надеюсь, это поможет кому-то, это сработало для меня.
function writeSheets() {
var ss = SpreadsheetApp.openById("10lyQpQtEA7euCfdU2isrqB_bgPuy-eSbW74h7oDP3ko");
var sheet = ss.getSheets()[0];
var firebaseUrl = "https://myapp.firebaseio.com/";
var secret = "pCOCwKCC582jpqdZe2EqPqnW3IAd3UyO9oB4uaEL2"; // get this from firebase project settings
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl);
var data = base.getData();
var keys = Object.keys(data.entries);
var sheetRow = [];
var entryKeys;
for (index in keys) {
sheetRow = [];
entryKeys = Object.keys(data.entries[keys[index]])
for (i in entryKeys) {
sheetRow.push(data.entries[keys[index]][entryKeys[i]]);
}
//Logger.log(sheetRow);
sheet.appendRow(sheetRow);
}
}
Примечание: для того, чтобы этот код работал, вам необходимо установить библиотеку firebaseapp в редакторе сценариев в соответствии с этими инструкциями, https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/firebase
Я использую новейшую версию Firebase. Этот фрагмент кода работает для меня.
function getFacturasClientesExistentes() {
var firebaseUrl = "https://test.firebaseio.com/FacturasBLP/clienteExistente";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl);
var data = base.getData();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Facturas Clientes Existentes");
var num = 2;
range = sheet.getRange("A"+num+":F"+num+"");
for(var i in data) {
var values = [
[ data[i].fecha, data[i].sucursal, data[i].cantidad, data[i].cliente, data[i].correo, data[i].estatus ]
];
range.setValues(values);
num += 1;
range = sheet.getRange("A"+num+":F"+num+"");
}
}
Некоторые примечания:
range = sheet.getRange("A"+num+":F"+num+"");
от A до FI имеет мои заголовки
var keys = Object.keys(data.entries);
(передачаundefined argument
) – Cesare 20 July 2017 в 06:26