【问题标题】:Google Apps Script restarting during execution on Google SIteGoogle Apps 脚本在 Google 站点上执行期间重新启动
【发布时间】:2012-07-03 15:27:40
【问题描述】:

我正在创建一个带有按钮和文本框的 UI 面板,以便在 Google 网站上使用。脚本似乎有时会重新启动(全局重新加载,日志清除) - 尽我所能认为它是在按下按钮后。按钮处理程序中没有任何内容会导致错误。按钮处理程序运行良好(doGet 似乎不再运行)。
使用以下设置按钮处理程序。也许这里有什么原因造成的?

//container is the app

//textOnButton = "Next"

//handler ="submitNext_"   - name of method that handles click

//vPanel is the panel containing the button

var submitButton = container.createButton().setId(textOnButton);

submitButton.setText(textOnButton);

// submit handlers

var submitServerHandler = container.createServerClickHandler(handler);

submitServerHandler.addCallbackElement(vPanel);  

submitButton.addClickHandler(submitServerHandler); 

对这种行为有什么想法吗?主要问题是我的几个全局常量并不是真正的常量,它们在重新启动时被重新设置。我可以将它们存储在 UserProperties 中作为解决方法,但我想了解为什么会发生这种情况。

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    这是故意行为。每个回调都运行一个“新”脚本,因此不建议使用不是真正常量的常量。请参阅此处的类文档:

    https://developers.google.com/apps-script/class_serverhandler

    Serge,这些方法已被弃用,因为我们将它们全部替换为适用于任何类型处理程序的 createServerHandler。所有老旧的 createServerXXXHandler 方法仍然有效;它们只是 createServerHandler 的同义词。

    【讨论】:

    • 感谢您的回复。阅读文档后,我看到建议是我已经提出的解决方法 - 在用户属性中存储状态数据。
    【解决方案2】:

    这可能与 another post seen here today 相关,因为您使用的处理程序 createServerClickHandler(handler)deprecated from june 2012

    不确定但值得一试吗?

    【讨论】:

    • 感谢您的回复。不错的猜测,但我已按照建议进行了更改,并且行为仍然存在。
    猜你喜欢
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 2020-12-29
    相关资源
    最近更新 更多