我正在通过 POST 请求注册用户。

为此,我使用 async/await 的 axios!但是,我收到 register.then is not a function 错误。请帮帮我。

async sendUserData() {
  try {
    const register = await axios.post('/register', {
      email: this.register.email.trim(),
      password: this.register.password.trim(),
    });
    register.then(
      response => {
        console.log(response);
      }
    );
  } catch (e) {
    console.log(e);
  }
}

最佳答案

await 关键字等待 promise (这意味着它在内部处理 then )但它不返回 promise 。相反 await 返回 promise 的结果。

因此,做你想做的正确方法是:

async sendUserData() {
  try {
    const response = await axios.post('/register', {
      email: this.register.email.trim(),
      password: this.register.password.trim(),
    });

    console.log(response);

  } catch (e) {
    console.log(e);
  }
}

但是, async 关键字返回一个 promise 。所以你应该像这样调用你的函数:
sendUserData().then(console.log('done'));

关于javascript - 然后不是 axios async/await post 请求上的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51346787/

10-12 13:40