我将axios调用分离到另一个名为ApiMethods.js的文件中。
现在,每当我尝试在ApiMethods.js中使用'uploadSpecFile'函数时,都会出现此错误:
未捕获的TypeError:无法读取未定义的属性'then'
这是帮助方法:
export function uploadSpecFile(formData, engineId) {
return
axios({
method: 'post',
url: `/api/engineData/spec-files/${engineId}/files/upload`,
data: formData,
config: {
headers: { 'Content-Type': 'multipart/form-data' }
}
})
}
我在这里使用它:
import { uploadSpecFile } from '/ApiMethods';
// error occurs here **
uploadSpecFile(bodyFormData, this.props.engineId).then(response => {
this.setState({
selectedFile: response.data,
file: null
});
})
.catch(response => {
});
我在做错什么吗?
谢谢!
答案 0 :(得分:1)
您要返回undefined
,因为axios
与return语句不在同一行。
只需将axios
请求移至同一行,它将按预期工作。
export function uploadSpecFile(formData, engineId) {
return axios({
method: "post",
url: `/api/engineData/spec-files/${engineId}/files/upload`,
data: formData,
config: {
headers: { "Content-Type": "multipart/form-data" }
}
});
}