Converting circular structure to JSON

43 阅读1分钟

1. 问题描述

现在遇到一个业务场景,在 form.validateFields 中调用接口,但是一直会走 axios 封装的 catch 逻辑中,怀疑是 Promise.reject 状态固定后,后续所有的状态都是 reject,一直想的是如何改变 Promise 的状态,但是经过后续的排查发现是某个参数值是一个 function,而 axios 处理参数都是使用 JSON.stringify, 它不能处理函数,所以会报出TypeError: Converting circular structure to JSON 或者 Error: data must be a plain object or Array, not function,所以后续遇到此类问题可以去看是否是某个参数值是否是函数

image.png

2. Axios 参数值

  • Object
  • Array
  • FormData
  • string
  • Buffer(Node)
  • etc.
  • Not a function