我正在学习Node,Express和React,并试图将用于调用Express API的简单通用Fetch方法转换为Axios。当我希望Axios自动将结果作为JSON数据返回时,我已经开始工作了,但是在这里我希望它返回ReadableStream
。在文档中,它应该很简单:只需将字段responseType:'stream'
添加到config
,但我不断收到错误消息The provided value 'stream' is not a valid enum value of type XMLHttpRequestResponseType.
,我看到其他人也遇到了这个问题(请参阅https://github.com/axios/axios/issues/1474 ),但没有任何解决方案。有谁知道是否有一个,或者我做错了什么?相关代码如下。感谢您提供任何见解!
const logic = {
_call(path, method, headers, body, expectedStatus) {
const config = { method,responseType:'stream', url: `http://localhost:8080/${path}`}
if (headers) config.headers = headers
if (body) config.data = body
return axios( config)
.then(res => {
if (res.status === expectedStatus) {
return res
} else
return res
.then(({ message }) => {
throw new Error(message)
})
})
}
}