Конкатенация строк выполняется с помощью +
, поэтому Javascript преобразует первое число 1 в строку и объединяет «1» и «1», делая «11».
Вы не можете выполнять вычитание по строкам, поэтому Javascript преобразует второй «1» в число и вычитает 1 из 1, что приводит к нулю.
Все вызовы google.script.run
являются асинхронными, то есть требуется время, чтобы функция возвращала ответ с сервера сценариев приложений. Между тем, код, требующий массив дат, является синхронным и выполняется до обновления даты. Поэтому код, требующий массив дат, должен, вероятно, находиться внутри вашего обработчика onSuccess
.
Если вы действительно хотите получить фантазию, вы можете даже использовать обещания, чтобы сделать ваш код асинхронным и последовательным для чтения одновременно.