代码之家  ›  专栏  ›  技术社区  ›  SkyeBoniwell

在helper函数[duplicate]中调用axios时无法读取属性'then'

  •  0
  • SkyeBoniwell  · 技术社区  · 6 年前

    我将一个AXIOS调用分离到另一个名为apithods.js的文件中。

    现在,每当我尝试在apipmethods.js中使用“uploadspefile”函数时,都会出现以下错误:

    未捕获的类型错误:无法读取未定义的属性“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 => {
        });
    

    我做错什么了吗?

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  1
  •   Tholle    6 年前

    你回来了 undefined ,自 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" }
        }
      });
    }