【问题标题】:Google App Script executing all script files when runnig an action in a Card在卡片中运行操作时执行所有脚本文件的 Google App 脚本
【发布时间】:2021-05-20 15:17:07
【问题描述】:

我在开发 Gmail 插件时注意到一件奇怪的事情。

每次从卡片(例如,从 TextButton)执行操作时,项目中所有脚本的代码都会执行。

例如,如果我在项目中添加一个只包含这一行的脚本:

Logger.log("TEST LOG")

这行被执行...我可以在执行日志中看到“TEST LOG”。

这与我的预期相反——只有用 setFunctionName() 设置的函数会被执行。

这是预期的行为吗?可以避免吗?

它只发生在开发模式还是生产模式(例如在市场上发布的项目)?

【问题讨论】:

  • 这是应用程序脚本的典型行为。所有全局变量都会重新初始化,并且在每次函数执行时都会调用所有全局函数。
  • 你什么意思,在这个例子中你看到函数之外的所有东西都被调用ibb.co/NrpPrbD

标签: google-apps-script card


【解决方案1】:

这是使用 Apps 脚本时的预期行为。

当运行任何函数时,函数之外的所有其他文件中的所有指令/变量也会被执行。这与脚本类型无关,因为这是 Apps 脚本处理执行的方式。

管理此问题的一种方法是将所有代码组织在功能块中。

【讨论】:

    猜你喜欢
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多