javascript 将p节流阀与Apollo RestLink配合使用

4si2a6ki  于 2023-01-16  发布在  Java
关注(0)|答案(1)|浏览(117)

我正在使用Apollo RestLink向API发出post请求。我遇到Request Entity Too Large,错误代码为413,因为API有限制(比如100)。
我不想修改API限制。我只是想限制请求的数量。我尝试了Apollo documentation中的以下代码,但我在Visual Studio上得到了一个错误消息Expected 1 argument, got 3

import pThrottle from "p-throttle";

const link = new RestLink({
  endpoints: "/api",
  customFetch: pThrottle((uri, config) => {
      return fetch(uri, config);
    },
    2, // Max. concurrent Requests
    500 // Min. delay between calls
  ),
});

有人遇到过这个问题并解决了吗?

1mrurvl1

1mrurvl11#

基于p-throttledocumentation,您应该尝试:

import pThrottle from "p-throttle";

const throttle = pThrottle({
    limit: 2,
    interval: 500
});

const link = new RestLink({
  endpoints: "/api",
  customFetch: throttle((uri, config) => {
      return fetch(uri, config);
    },
  ),
});

相关问题