首页 > 解决方案 > 带有 UrlfetchApp.fetchAll() 或 async/ 等待多个 http 请求的谷歌应用程序脚本?

问题描述

我过去在 Google Apps Script 中创建了一些项目以实现一些自动化,其中还包括一些 http-fetches。在过去,这.fetch()很好用,但现在我们需要获取多个 url。由于应用程序脚本现在使用 V8 运行时,因此我考虑使用 Promise 这样做。我对 async/await 和一般承诺也很陌生。所以我考虑尝试使用UrlfetchApp.fetch()异步函数,只是为了发现执行时间没有区别。

我红色,UrlfetchApp.fetch()由于 GAS-API 设计,无论您是否将函数声明为异步,这将始终是同步的。但我找不到这方面的详细信息。这是真的?

如果是:那么获取多个 url 的唯一方法是UrlfetchApp.fetchAll(),对吗?

如果不是:意味着简单.fetch()可以在异步函数中工作(并且可以被链接,Promise.all())然后我会在这方面投入更多时间。

所以,是或否在这里会有很大帮助!

标签: javascriptgoogle-apps-scripturlfetch

解决方案


目前,Urlfetchapp 同步运行,虽然支持 promise 的语法,但它也可以同步运行。

那么获取多个 url 的唯一方法是 UrlfetchApp.fetchAll(),对吗?

是的


推荐阅读