javascript - 当axios发出post请求时会发生什么?

标签 javascript reactjs axios

我正在使用reactjs构建一个应用程序,并且我对axios有疑问。

我有一个 axios.post

然后我调用一个函数

this.props.onChangeStep1()

按照它的写法...我安全吗? this.props.onChangeStep1() 会一直等待 res.data 满吗?

 onChangeHandler = event => {
    console.log(event.target.files[0]);

    this.setState(
      {
        selectedFile: event.target.files[0],
        fileName: event.target.files[0].name,
        loaded: 0
      },
      () => {
        console.log(this.state.selectedFile);
        console.log(this.state.loaded);
        const formData = new FormData();
        formData.append("file", this.state.selectedFile);

        axios
          .post(`/upload`, formData, {
            headers: {
              "Content-Type": "multipart/form-data"
            }
          })
          .then(res => {
            console.log(res);
            console.log(res.data);
          });

        this.props.onChangeStep1(); //<---- Will this wait for res.data ?
      }
    );

最佳答案

没有。它不会等待。你应该把它放入 .then:

 onChangeHandler = event => {
    console.log(event.target.files[0]);

    this.setState(
      {
        selectedFile: event.target.files[0],
        fileName: event.target.files[0].name,
        loaded: 0
      },
      () => {
        console.log(this.state.selectedFile);
        console.log(this.state.loaded);
        const formData = new FormData();
        formData.append("file", this.state.selectedFile);

        axios
          .post(`/upload`, formData, {
            headers: {
              "Content-Type": "multipart/form-data"
            }
          })
          .then(res => {
            console.log(res);
            console.log(res.data);
            this.props.onChangeStep1();
          });
      }

关于javascript - 当axios发出post请求时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57600827/

相关文章:

javascript - 事件处理程序不更改变量。

javascript - 引用 DOM 元素的 React Hook 在第一次调用时返回 "null"

javascript - React document.addEventListener 正在检测多个按键

reactjs - 在 reactjs 中实现开放图谱社交分享

javascript - Axios API get request with Redux not able to pass in variable in action

javascript - 如何计算所有里的总高度?

javascript - 不使用 jquery 代码在 ul 中为垂直下拉菜单打开 li

javascript - 我如何更改日期选择器中的日期格式

node.js - axios post套接字仅在docker中挂起

javascript - 无法读取 axios 之外的函数