【问题标题】:axios get multiple id parameter issueaxios获取多个id参数问题
【发布时间】:2021-11-30 02:28:17
【问题描述】:

我是 React 应用的新手。我正在根据开始日期、结束日期和序列号等参数获取数据的详细信息。我使用 axios.get 方法在字符串中传递多个序列号,用逗号值分隔。我的查询如下。

  var formattedstartTime = moment(startTime)
    .utc()
    .format()
    .toString();
  var formattedendTime = moment(endTime)
    .utc()
    .format()
    .toString();

  const modemSerialsValues = networks.map((p) => p.modemSerial).join(",");
  //const modemSerialsValues="161887,162181,136787,141300,153700,156282,160219,157249,160124,204883,204707,209266,156881,157944,157532,208788,137311,157971,160131,208972,162157,153436,209377,160010,204915,162045,131292,160136,160014,204630,209508,235133,130508,209413,160078,204949,159977,236148,204718,137920,171014,160110,161295,157706,160185,130220,74699,130033,224303,272,153264,136696,129740,162017,153243,160017,159743,132118,157570,160180,159942,154105,155613,156030,161283,155940,74931,136773,159732,157694,161153,160089,156202,204859,209440,230476,131772,160176,156795,209514,130401,209445,224114,156243,235016,209224,130436,159927,223996,161813,70932,209292,136529,209172,209397,160111,72434,209281,161441,136556,136794,160040,162023,153160,156315,158076,152777,171375,224297,224277,70704,129496,224220,224220,159856,209418,74575,156908,84691,70704,157856,70912";

  useEffect(() => {
    dispatch(setPerformanceLvls(null));
    axios
      .get(
        config.API_PERFORMACE + `/${formattedstartTime},${formattedendTime}`,
        { data: '"' + modemSerialsValues + '"' }
      )
      .then((res) => {
        const pd: PerfomanceData[] = res.data;
        console.log("++++++++++++Pd+++++++++++++");
        console.log(pd);
        console.log("++++++++++++Pd+++++++++++++");
        const pdMap = pd.reduce((acc, curr) => {
          acc[curr.deviceSerialNumber] = curr;
          return acc;
        }, {});
        setData(pdMap);

        const plvlMap = pd.reduce((acc, curr) => {
          acc[curr.deviceSerialNumber] = curr.perfomanceLevel;
          return acc;
        }, {});

        console.log(plvlMap);

        dispatch(setPerformanceLvls(plvlMap));
        setDataFetched(true);
        console.log(pdMap);
      })
      .catch((error) => {
        console.log("can not load data");
        //setErrorMessages(["Cannot load data"])
        //setIserror(true)
      });
  }, [dispatch, endTime, formattedendTime, formattedstartTime, modemSerialsValues, startTime]);

** 但是得到 204,我不明白为什么,它需要更多的时间。理想情况下,它应该在几毫秒内调用,但需要将近 20 分钟才能获得 204 值。**

我也尝试通过邮寄方式获取数据,但时间是主要问题。在 Post 中也需要更多时间。

【问题讨论】:

  • 你试过邮递员等吗?也许问题的原因是后端,需要确定。
  • 你说你是新手,因此这里有一些关于为什么你不应该再使用 var 关键字的信息:levelup.gitconnected.com/…

标签: reactjs performance react-redux axios react-hooks


【解决方案1】:

204 并不意味着它失败了。这意味着没有内容。所以也许你在后端犯了一个错误..

【讨论】:

    猜你喜欢
    • 2019-03-05
    • 1970-01-01
    • 2018-12-26
    • 2020-05-31
    • 2019-02-20
    • 2012-11-25
    • 2021-09-20
    • 1970-01-01
    • 2021-08-17
    相关资源
    最近更新 更多