У меня есть интерфейс, который вызывает сценарий для создания электронной таблицы с использованием данных, взятых из другой электронной таблицы. Я хочу, чтобы интерфейс обновлял свои метки во время выполнения, чтобы дать пользователю визуальную обратную связь и сообщить ему, что скрипт работает и не зависает. Когда я пытаюсь обновить метку, которую я поместил в интерфейс, она не обновляется в первый раз, но обновляется правильно после того, как myFunction() достигает своего конца. Это означает, что я вижу сообщение "Создание завершено", но сообщение "Создание файла..." никогда не отображается. Кроме того, кнопка buttonCompile никогда не отключается, поэтому кажется, что инструкции перед myFunction() вообще не выполняются. Как я могу обновить метки и отключить кнопку до того, как myFunction() начнет выполняться? (я уже перепроверил ссылки на переменные)
function doGet() {
var app = UiApp.createApplication();
app.add(app.loadComponent("File creation"));
var buttonCreate = app.getElementById('createBtn');
var handlerCrea = app.createServerHandler('createClickHandler');
buttonCreate.addClickHandler(handlerCreate);
return app;
}
function createClickHandler(e) {
var app = UiApp.getActiveApplication();
var label = app.getElementById('createLbl');
label.setText("Creating file...");
var buttonCompile = app.getElementById('compileBtn');
buttonCompile.setEnabled(false);
myFunction();
label.setText("Creation completed.");
buttonCompile.setEnabled(true);
app.close();
return app;
}