1

我发现我的 Google 协作平台上的 Google Apps 脚本小工具的加载时间不一致。小工具加载过程似乎有两个可见阶段 - 一个“空白”阶段和一个带有“加载”动画的阶段。谁能解释这两个阶段之间的关系?我怀疑但无法知道我的代码在加载动画完成之前不会开始执行。这是真的?

一旦到达加载动画,我的脚本似乎会相对一致地执行。我已经查看了有关优化 Google Apps 脚本性能的可用文档,并且我已经能够根据我的要求获得合理的加载时间,但小工具有时会花费很长时间 - 超过 60 秒 - 在加载动画出现之前没有任何内容.

我有一页上有三个 Google Apps 脚本小工具,三个非常不同的性能配置文件。我正在从其中两个中的电子表格中加载数据,但我需要在另一个中遍历 Google 联系人,这需要更长的时间。在我看来,一旦这些脚本中的一个点击“加载”动画,它们都开始相当快地执行,但我作为开发人员所做的任何事情都不会影响加载动画之前的时间。

4

2 回答 2

1

Web 浏览器在使用 Javascript(或 GAS)进行服务器调用时是单线程的,因此它需要完成对服务器的所有函数调用,然后才能从服务器返回值并呈现您的页面。一种解决方法是在页面上创建一个简单的按钮来启动您的 GAS 流程,然后在按下按钮时通过客户端处理程序显示加载屏幕。当进程在后台进行时,加载屏幕将可见,当您最终完成进程时,您可以将加载屏幕(面板)可见性设置为 false。

不是最优雅的解决方案,但是您的初始页面将快速呈现,然后您设置一个面板(如果您愿意,可以使用动画 gif 加载图形)告诉用户页面正在加载。

希望这可以帮助!

于 2012-10-27T07:28:28.257 回答
0

有趣的问题。但恐怕我们真的无能为力了。好吧,除了向 Google 抱怨 :)

我想你应该在问题跟踪器上打开一个“增强请求” 。

于 2012-05-08T16:03:14.260 回答