当前位置: 首页 > 面试题库 >

提取API请求超时?

刘升
2023-03-14
问题内容

我有一个fetch-api POST要求:

fetch(url, {
  method: 'POST',
  body: formData,
  credentials: 'include'
})

我想知道默认的超时时间是多少?以及如何将其设置为3秒或不定秒的特定值?


问题答案:

它没有指定的默认值。该规范根本没有讨论超时。

通常,您可以为承诺实现自己的超时包装器:

// Rough implementation. Untested.
function timeout(ms, promise) {
  return new Promise(function(resolve, reject) {
    setTimeout(function() {
      reject(new Error("timeout"))
    }, ms)
    promise.then(resolve, reject)
  })
}

timeout(1000, fetch('/hello')).then(function(response) {
  // process response
}).catch(function(error) {
  // might be a timeout error
})

如https://github.com/github/fetch/issues/175中所述
(https://github.com/mislav)



 类似资料:
  • 问题内容: 我想知道如何一次获取多个GET URL,然后将获取的JSON数据放入我的React DOM元素中。 这是我的代码: 但是,我想从服务器中获取其他JSON数据,然后使用传递到其中的所有这些JSON数据呈现我的ReactDOM。例如: 这可能吗?如果不是,将多个JSON数据提取到我的渲染ReactDOM元素中的其他解决方案是什么? 问题答案: 您可以在解决方案之前依靠Promises来执行

  • 问题内容: 我有一个Spring Boot REST服务,有时会在请求中调用第三方服务。我想对所有资源设置一个超时时间(假设为5秒),这样,如果任何请求处理(从输入到响应的整个链)花费的时间超过5秒,我的控制器将使用HTTP 503而不是实际响应进行响应。如果这只是一个Spring属性,那就太好了,例如设置 但是我没有任何运气。我也尝试过扩展WebMvcConfigurationSupport并覆

  • 我有一个Spring Boot REST服务,它有时会调用第三方服务作为请求的一部分。我想在我的所有资源上设置一个超时(假设是5秒),这样,如果任何请求处理(从传入到响应的整个链)花费的时间超过5秒,我的控制器就会用HTTP503而不是实际的响应来响应。如果这只是一个Spring属性(例如设置),那就太棒了 但我在这方面并不走运。我还尝试扩展WebMvcConfigurationSupport并重

  • 我已经使用zappa在aws lambda上部署了一个flask应用程序,现在该应用程序在所有endpoint上都运行良好,除了我的主endpoint,当我对其发出post请求时,它返回{“消息”:“endpoint请求超时”} 真的需要一个修复或想法如何克服这个我需要调用分析路线,部署的url是 https://2ixfyfcsik.execute-api.eu-west-2.amazonaws

  • 问题内容: 我在用JavaScript抓取API挣扎。当我尝试通过获取将某些内容发布到服务器时,请求正文为空数组。但是,当我使用Postman时,它可以工作…这是我在NodeJS中的服务器代码: 这是我的客户: 问题是在服务器端,req.body为空。有人能帮我吗?谢谢 ! 问题答案: 问题是 从文档中 … 防止该方法成为HEAD,GET或POST之外的任何其他内容, 并且 阻止 标头成为 简单标

  • 我想用带有curl请求的API CloudConvert测试一个非常简单的案例。我想用curl请求导入文件EssaificHier.txt。我得到一个状态为“waiting”的Json响应。我不知道这个请求做得好不好。如果有人面临同样的问题,那么在我的代码下面有一些将是很好的,以便解决这个问题。