Javascript Axios挂起重试

Javascript Axios挂起重试,javascript,node.js,express,axios,axios-retry,Javascript,Node.js,Express,Axios,Axios Retry,axios版本0.19.2 axios重试版本3.1.9 也使用FormData 2.5.1 使用express服务器 我正在尝试重新发送校验和匹配失败的数据。我正在从express服务器发送一个406。Axios似乎试图重试,但随后挂起。如果我停止express服务器,程序将继续重试。如果重新启动服务器,axios会再次挂起 axiosRetry(axios, { retries: 10, retryDelay: (retryCount) => {

axios版本0.19.2 axios重试版本3.1.9 也使用FormData 2.5.1 使用express服务器

我正在尝试重新发送校验和匹配失败的数据。我正在从express服务器发送一个406。Axios似乎试图重试,但随后挂起。如果我停止express服务器,程序将继续重试。如果重新启动服务器,axios会再次挂起

    axiosRetry(axios, {
      retries: 10,
      retryDelay: (retryCount) => {
        console.log(`retry attempt ${retryCount}`);
        return retryCount * 1000;
      },
      retryCondition: (_err) => true
    })

   axios.post(
      url,
      newForm,
      {
        headers: {
          ...headers,
        }
      }
    )
    .then((res) => {
      Log(res);
      if (res.status === 200) {
        // do some stuff
      }
    })
    .catch((err) => {
      Log(err)
      if (err.response) {
        if (err.response.status === 406) {
          console.log("got a 406")
        }
      }
    });
我对axios/axiosRetry和FormData有些误解。我昨天有一些代码(现在不见了),如果post请求是在服务器关闭时发送的,它将重试并最终发出“成功”的post,但在express端,请求似乎没有正文。通过跳过formData并发布文件流本身,我能够做到这一点。我不记得我是怎么处理标题的

我真的不知道接下来该怎么办。感谢您的帮助

编辑: 因此,问题似乎是使用formData和标头的组合。下面是适用于此实例的修改请求

axios({
  method: 'post',
  url:  url,
  headers: {formHeaders},
  data: fs.createReadStream({`${file}`})
});

“如果你抓不到会发生什么?”乔什·沃尔夫说,如果活动没有任何变化的话。在我关闭服务器之前仍在等待重试服务器代码是什么样子的?您是否尝试返回不同的代码以查看这是否会改变行为?@JoshWulf
app.post('/upload/',async(req,res)=>{console.log(req);let sampleFile=req.files.attachment;if(sampleFile.md5!=req.body.checksum){res sendStatus(406)}else{res sendStatus(200)}}不确定是否所有大括号都在那里。我尝试返回不同的代码,但每次都是一样的——在服务器端显示单个请求,在客户端显示单个重试