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,所以后续遇到此类问题可以去看是否是某个参数值是否是函数
2. Axios 参数值
- Object
- Array
- FormData
- string
- Buffer(Node)
- etc.
- Not a function