javascript - 如何在 Google Apps 脚本中异步运行方法?

标签 javascript events asynchronous google-apps-script

我有一个函数,当通过表单提交某些数据时,客户端会调用该函数。这会触发一个操作,向希望接收通知的个人发送电子邮件。问题是,这必须与表单提交同步完成,因此提交表单的用户必须等待电子邮件发送,然后才能收到 Apps 脚本的返回数据,表明提交成功。

这有时可能需要几秒钟。有没有办法在应用程序脚本中异步运行函数(以便服务器可以在发送电子邮件时向客户端返回消息)?

或者更好的是,创建一个我可以监听的事件,类似于 .NET 中的事件?

最佳答案

您的标题具有误导性。您不希望它异步运行,当您从客户端进行 google.script.run.somefunction() 之类的调用时,默认情况下它会异步运行。

您需要做的是,在应用程序脚本中创建另一个函数(例如 EmailSentSuccessively()),该函数根据电子邮件是否已完成发送来报告 true/false。它可以读取“属性”(本质上是静态全局变量),该变量由实际发送电子邮件的函数更新。您从客户端调用 EmailSentSuccessively()(例如每 2 秒一次),直到它返回一个真值。在那之前,不要执行任何操作(或禁用表单元素,以便用户无法执行任何其他操作)。

关于javascript - 如何在 Google Apps 脚本中异步运行方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35025771/

相关文章:

c# - 需要帮助检查用户并将其添加到多个异步角色

javascript - 如何将图表放在页面中间?

c++ - 如何处理 QThread 上的事件?

c# - 触发表单按键事件

iphone - UIButton 事件 'Touch Up Inside' 不起作用。 'Touch Down' 工作正常

javascript - 同步 异步进行 异步调用

javascript - 如何让 javascript 暂时同步

javascript - history.forward() 不影响浏览器

javascript - 为什么这个 ExtJS 代码得到错误 "this.el is null"?

javascript - 如何正确地递归调用 img onerror 回调函数?