继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

async await vue

MYYA
关注TA
已关注
手记 474
粉丝 77
获赞 330

async/await 是 Vue.js 提供的一种语法糖,让异步代码看起来更简单易懂。它基于 Promise,可以让我们在组件中更方便地处理异步操作。

在 Vue.js 中,async/await 的语法糖可以让我们写出这样的代码:

methods: {
  async loadData() {
    const data = await response.json();
    return data;
  },
  async saveData(data) {
    const response = await fetch('/api/save-data', {
      method: 'POST',
      body: data,
      headers: {
        'Content-Type': 'application/json'
      }
    });
    return response.json();
  },
  async loadDataAsync() {
    const data = await response.json();
    return data;
  },
  async saveDataAsync(data) {
    const response = await fetch('/api/save-data', {
      method: 'POST',
      body: data,
      headers: {
        'Content-Type': 'application/json'
      }
    });
    return response.json();
  }
}

以上代码中,我们定义了两个方法 loadData()saveData()。在这些方法中,我们使用了 await 关键字来等待 Promise resolve。

loadData() 方法的 Promise 是从 response.json() 方法返回的。response.json() 方法返回一个 Promise,这个 Promise 会在后续的 await 语句中 resolving,并返回 Promise 所代表的响应数据。

saveData() 方法的 Promise 是从 fetch('/api/save-data', {... }) 方法返回的。fetch() 方法返回一个 Promise,这个 Promise 会在后续的 await 语句中 resolving,并返回 Promise 所代表的响应数据。

asyncawait 的组合中,我们还可以使用 await 关键字来等待 Promise resolve。例如:

methods: {
  async loadDataAsync() {
    const data = await response.json();
    return data;
  },
  async saveDataAsync(data) {
    const response = await fetch('/api/save-data', {
      method: 'POST',
      body: data,
      headers: {
        'Content-Type': 'application/json'
      }
    });
    return response.json();
  },
  async loadData() {
    const data = await response.json();
    return data;
  },
  async saveData(data) {
    const response = await fetch('/api/save-data', {
      method: 'POST',
      body: data,
      headers: {
        'Content-Type': 'application/json'
      }
    });
    return response.json();
  }
}

以上代码中,我们定义了 async loadDataAsync()async saveDataAsync() 方法来使用 async/await。这些方法的 Promise 是由 fetch() 方法返回的,而不是由原生 JavaScript 的 Promise 返回的。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP