Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

vue async await用法

作者:浪子无家   发布日期:2026-01-31   浏览:58

// 使用 async/await 的 Vue 示例

<template>
  <div>
    <button @click="fetchData">获取数据</button>
    <p v-if="loading">加载中...</p>
    <p v-if="error">{{ error }}</p>
    <ul v-if="items">
      <li v-for="(item, index) in items" :key="index">{{ item }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: null,
      loading: false,
      error: null
    };
  },
  methods: {
    async fetchData() {
      this.items = null;
      this.loading = true;
      this.error = null;

      try {
        // 模拟一个异步请求
        const response = await fetch('https://jsonplaceholder.typicode.com/posts');
        if (!response.ok) {
          throw new Error('网络响应错误');
        }
        const data = await response.json();
        this.items = data.slice(0, 5); // 只取前5个元素
      } catch (err) {
        this.error = err.message;
      } finally {
        this.loading = false;
      }
    }
  }
};
</script>

解释说明:

  1. asyncawait

    • async 关键字用于定义一个函数为异步函数,它会返回一个 Promise
    • await 关键字用于等待一个 Promise 完成,并且只能在 async 函数内部使用。
  2. fetchData 方法

    • 当用户点击按钮时,调用 fetchData 方法。
    • 使用 await 等待 fetch 请求完成,并处理可能的错误。
    • 如果请求成功,将数据赋值给 items,并在页面上显示。
    • 如果请求失败,捕获错误并显示错误信息。
  3. 模板部分

    • 使用 v-ifv-for 指令来控制 DOM 渲染。

上一篇:vue3 ref获取dom

下一篇:vue3 ref和reactive的区别

大家都在看

vue.js devtools用法

three.js vue

vue js for循环

highlight.js vue

vue.config.js 配置

vue.config.js 配置代理

vue.config.js configu

node.js vue

vue3 写法

vue3组件传值的方式

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站