uni-app 云函数报错 Throttling.Api: Request was denied due to api flowcontrol

uni-app 云函数报错 Throttling.Api: Request was denied due to api flowcontrol

产品分类 App下载地址或H5网址
uniCloud/App https://cd.csxfsc.com/

操作步骤:

  • 正常请求验证码接口报错

预期结果:

  • 正常返回验证码图片

实际结果:

  • Throttling.Api: Request was denied due to api flowcontrol.Reguestld:4C240A91-34EB-5646-855F-0C0CFC3A

bug描述:

  • Throttling.Api: Request was denied due to api flowcontrol.Reguestld:4C240A91-34EB-5646-855F-0C0CFC3A
  • 云函数动不动就报错 这个在哪儿配置?

更多关于uni-app 云函数报错 Throttling.Api: Request was denied due to api flowcontrol的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 云函数报错 Throttling.Api: Request was denied due to api flowcontrol的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 中使用云函数时,如果遇到 Throttling.Api: Request was denied due to api flowcontrol 错误,通常是因为云函数的请求频率过高,触发了腾讯云的 API 流量控制机制。腾讯云对云函数的调用频率有一定的限制,当超过这个限制时,请求会被拒绝并返回该错误。

解决方法:

  1. 降低请求频率

    • 检查你的代码,看看是否有频繁调用云函数的情况。如果有,可以尝试减少调用频率,或者将多个请求合并为一个请求。
    • 如果是定时任务或循环调用,可以考虑增加调用的间隔时间。
  2. 使用缓存

    • 如果某些数据不需要实时更新,可以考虑将数据缓存到本地,减少对云函数的调用次数。
  3. 分批处理

    • 如果需要处理大量数据,可以将数据分批处理,避免一次性发送过多请求。
  4. 升级服务

    • 如果你确实需要更高的调用频率,可以考虑升级腾讯云的服务,获取更高的 API 调用配额。
  5. 优化代码

    • 检查云函数的代码,看看是否有可以优化的地方,比如减少不必要的计算、数据库查询等,以提高执行效率。
  6. 错误重试

    • 在代码中加入错误重试机制,当遇到 Throttling.Api 错误时,等待一段时间后重新发起请求。

示例代码(错误重试):

async function callCloudFunction() {
  try {
    const result = await uniCloud.callFunction({
      name: 'yourFunctionName',
      data: { /* your data */ }
    });
    return result;
  } catch (error) {
    if (error.errCode === 'Throttling.Api') {
      // 如果是流量控制错误,等待 1 秒后重试
      await new Promise(resolve => setTimeout(resolve, 1000));
      return callCloudFunction(); // 递归调用
    } else {
      throw error; // 其他错误直接抛出
    }
  }
}
回到顶部