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

vue await用法

作者:卍…`傷`   发布日期:2026-07-13   浏览:31

// 使用 async/await 在 Vue 组件中处理异步操作

<template>
  <div>
    <p v-if="loading">Loading...</p>
    <p v-else>{{ data }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      loading: true,
      data: null
    };
  },
  async created() {
    try {
      // await 关键字用于等待 Promise 解析
      this.data = await this.fetchData();
    } catch (error) {
      console.error('Error fetching data:', error);
    } finally {
      this.loading = false;
    }
  },
  methods: {
    // 模拟一个异步请求函数,返回一个 Promise
    fetchData() {
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          resolve('Fetched Data');
        }, 1000);
      });
    }
  }
};
</script>

解释说明:

  1. async/awaitasync 函数会返回一个 Promise,而 await 关键字用于等待 Promise 解析(即等待异步操作完成)。在上面的代码中,created 生命周期钩子被标记为 async,这样我们就可以使用 await 来等待 fetchData 方法的结果。

  2. try/catch:为了处理可能发生的错误,我们在 await 的外面包裹了一个 try/catch 块。如果 fetchData 抛出异常,它会被 catch 捕获,并输出到控制台。

  3. finally:无论 Promise 是否成功或失败,finally 块中的代码都会执行。在这里,我们用它来确保 loading 状态最终会被设置为 false

  4. 模拟异步请求fetchData 方法模拟了一个异步请求,使用 setTimeout 来延迟解析 Promise,模拟网络请求的时间。

  5. 模板部分:在模板中,我们根据 loadingdata 的状态来显示不同的内容。当数据加载时,显示 "Loading...";当数据加载完成后,显示实际的数据。

上一篇:vue图片

下一篇:vue 字体加粗

大家都在看

vue.js devtools用法

three.js vue

vue js for循环

vue.min.js 本地引入

vue.js 3

highlight.js vue

vue.config.js 配置

vue.config.js 配置代理

vue.config.js devserv

vue.config.js configu

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

Laravel 中文站