首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我们使用SpreadsheetApp.flush();?

为什么我们使用SpreadsheetApp.flush();?
EN

Stack Overflow用户
提问于 2016-12-16 00:03:31
回答 1查看 32.3K关注 0票数 17

我是个完全的初学者。

我阅读了谷歌的解决方案文档。我在网上搜索到了同样的信息。我还在StackOverflow中搜索了相同的内容。

但。一切似乎都是技术性的。

我所理解的是,.Flush帮助在函数发生时执行它们,而不将它们捆绑在一起。

我说得对吗?如果不是,外行的意思是什么?请举个简单的例子。谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-16 04:53:24

当程序员希望确保在继续之前将前一段代码的输出和/或效果写入电子表格时,他们将使用flush()。如果您不使用flush(),那么通过使用一些内置的缓存和绑定操作,代码可能会自动“优化”。通常,您不需要使用flush(),除非您确实需要.如果这有意义的话。

第一,你们的正式文件:

冲洗() 应用所有挂起的电子表格更改。电子表格操作有时被捆绑在一起以提高性能,例如在对Range.getValue()进行多次调用时。但是,有时您可能希望确保立即进行所有挂起的更改,例如,在脚本执行时显示用户数据。

解释相似的类比如何:假设你在一棵有100个苹果的树上数苹果。

你可以逐个统计和记录每一个苹果,如下所示:

123456.等。

这就像在循环中执行flush()一样,因为您实际上是在每次count操作之后编写。您将最终写到您的论文100次,让我们假设它用你的手写比用你的眼睛计数花更长的时间。

“优化”过程(在本例中)是使用内存/缓冲区,在写下数字之前先数5个苹果,这样您就可以编写

5101520.等。

现在,您将最终写到您的论文20倍(减少80% ),尽管必须数同样数量的苹果,您已经减少了您必须写的次数,所以您将看到一个巨大的性能效益通过减少运行时。

这大致转化为Apps脚本操作的工作方式。与所有计算一样,内存中的操作执行得最快,读/写(也称为输入/输出)操作是最慢的(请检查您的执行记录以获得进一步的证明)。这就是为什么只有当您特别需要在代码执行的特定点将数据写入电子表格时才使用flush()

希望这能有所帮助。

票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41175326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档