【问题标题】:How to catch error from UrlFetchApp.fetchAll?如何从 UrlFetchApp.fetchAll 中捕获错误?
【发布时间】:2020-12-21 11:40:31
【问题描述】:

UrlFetchApp.fetchAll 加快了执行时间。但是对于很多请求,经常会出现错误(429、500、503)。在大多数情况下,第二个请求将解决它。我怎样才能抓住他们?根据benchmarkHTTPResponse[] 的顺序与请求数组不同。因此我无法发送新请求(UrlFetchApp.fetch),不知道urlparams

let requests = [
    { url: '', muteHttpExceptions: true }, 
    { url: '', muteHttpExceptions: true }
];
let responses = UrlFetchApp.fetchAll(requests);

【问题讨论】:

  • 首先,我必须为我糟糕的英语水平道歉。 fechAll 方法返回与请求顺序相同的顺序。在摘要部分,它说在异步处理工作后,返回的值按请求的顺序重新排序。 Result 部分的结果表明 fetchAll 方法使用对 Web Apps 的请求以异步进程运行的实验结果。
  • 你说UrlFetchApp.fetchAll speeds up the execution time,但是如果你得到一个429错误——这意味着你在短时间内执行了太多的请求。为避免这种情况,您不应加快执行时间。
  • @ziganotschka 如果比较 100 fetch10 fetchAll - 差异也很大。

标签: javascript google-apps-script request fetch urlfetch


【解决方案1】:

根据基准,HTTPResponse[] 的顺序与请求数组的顺序不同。

我错了。摘要部分给出了下一条规则:

经过异步处理后,返回值按照请求的顺序重新排序。

在我的实践中,确实如此。

谢谢Tanaike

【讨论】:

    猜你喜欢
    • 2018-05-15
    • 2016-12-07
    • 2019-02-08
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多