javascript - 在 Google Apps 脚本中异步运行函数
问题描述
我正在制作一个调用 GAS 函数的 Slack 机器人。一切正常,除了 Slack 显示一条错误消息,因为它在调用 API 时只等待 3 秒的响应。
谁能帮我弄清楚如何异步运行everyDay2,以便我可以在响应完成之前返回它。我已经尝试过承诺和回调,但我无法解决它。
function doPost(e){
const promise = new Promise(everyDay2);
return ContentService.createTextOutput('thinking...');
}
解决方案
承诺不起作用。改用触发器:
function doPost(e) {
runAfter1s('everyDay2');
return ContentService.createTextOutput('thinking...');
}
const runAfter1s = func =>
ScriptApp.newTrigger(func)
.timeBased()
.after(1000)
.create();
确保在触发everyDay2
后删除内部创建的触发器。
推荐阅读
- ruby-on-rails - 与 accept_nested_attributes_for 资源和未经允许的参数的表单混淆
- sql - Snowflake SQL: Selecting the top 1% of IDs by Spend Amount partitioned by industry
- python-packaging - 您如何在站点范围内安装命令行包?例如牛赛
- php - Shopify REST API 分页链接为空
- javascript - 将随机 IImage 旋转和字幕淡入添加到 jquery.backstretch.captions.js
- node.js - Angular、Node API、如何 SSL 本地主机、DEPTH_ZERO_SELF_SIGNED_CERT、Cookie
- git - Git bash无法输入任何内容
- python - 打开一个文件,如果不存在,创建它
- salesforce - 如何使用闪电组件在下拉列表中获取父对象
- nearprotocol - 无法在 NEAR 协议测试网上创建新帐户