首页 > 其他分享 >vue中执行异步函数async和await的用法

vue中执行异步函数async和await的用法

时间:2022-10-09 16:24:39浏览次数:50  
标签:function 输出 vue 函数 异步 await async

在开发中,可能会遇到两个或多个函数异步执行的情况,对于Vue中函数的异步函数执行做了一个小总结,如下:

异步执行使用async和await完成

复制代码
created() {
    this.init()
},
methods: {
    async init(){
       await this.getList1();
       this.getList();
    },
     // 函数1
     getList(){
        return 'hello world';
     }
     // 函数2
     async getList1(){
        return '虽然在后面,但是我先执行';
    }
}
复制代码

async基础用法

1. async函数,会返回一个promise对象,可以用.then调用async函数中return的结果.

复制代码
    async function helloAsync() {
        return "返回结果";
    }
    console.log(helloAsync()) // 输出Promise对象: Promise {<fulfilled>: '返回结果'}
    helloAsync().then(v => {
        console.log(v); // 输出:返回结果
    })
复制代码

2. async函数中,可以使用await表达式,async函数执行,遇到await,会先暂停,等到await后的异步执行完毕,再继续往后执行.

复制代码
    // 1.使用await
    function testAwait() {
        return new Promise((resolve) => {
            setTimeout(function () {
                console.log("异步中的输出");
                resolve();
            }, 1000);
        });
    }
    async function helloAsync() {
        await testAwait();  // 等待异步
        console.log("async中的输出");
    }
    helloAsync(); // 输出:先输出"异步中的输出",再输出"async中的输出"
    
    // 2.不使用await
    function testAwait() {
        return new Promise((resolve) => {
            setTimeout(function () {
                console.log("异步中的输出");
                resolve();
            }, 1000);
        });
    }
    async function helloAsync() {
        testAwait();
        console.log("async中的输出");
    }
    helloAsync(); // 输出:先输出"async中的输出",再输出"异步中的输出"
复制代码

 

 

解析:

async:表示函数是异步执行,

await:表示当前函数先执行,执行完之后,再执行其他函数

  ps:await用于等待一个promise对象,它只能在async函数中使用.

标签:function,输出,vue,函数,异步,await,async
From: https://www.cnblogs.com/shanhubei/p/16772535.html

相关文章

  • 详解vue-element-admin之模块化Vuex
    最近项目要储备vue-element-admin,于是吧官方的demo拿来研究了一段时间~在这段期间内完成了一个自制的小项目,近期会上线(vue-element-admin后台+uniapp制作的小程序),请期待~......
  • Js的Promise、Generator,Async/await 区别
    我们知道JavaScript是单线程语言,如果没有异步编程非得卡死。以前,异步编程的方法有下面四种回调函数事件监听发布/订阅Promise对象现在据说异步编程终极解决方案是—......
  • Vue最佳实践和实用技巧
    1.props限制和透传​​​​内自定义限制props:{size:{//自定义验证函数validator:(val)=>{return["small","medium","large"].in......
  • elementUI/jquery/bootstrap/vue的异同
    elementUI的学习链接:https://blog.csdn.net/qq_40132294/article/details/124829639vue的学习链接:https://blog.csdn.net/weixin_48841931/article/details/126219434ht......
  • vue devtools使用指南
    1.安装(1)在github上下载devtools源码,地址:https://github.com/vuejs/vue-devtools(2)下载后进入vue-devtools工程,执行npminstall,然后npmrunbuild。(3)编译完成后修改pack......
  • vuex中两个用法
    在vuex中可以使用辅助函数和this.$store.state.xxxx两个用法vue3用的vuex为4版本,vue2用的vuex则为vuex的3版本因为在vuex中,vue开发者工具监听的是mutations的事件改值,mut......
  • vue-5 条件渲染/ 列表渲染
    <template> <div>  <h1style="background-color:yellowgreen;width:auto;">--------v-if--------</h1>  条件:type==  <selectv-model="type"> ......
  • vue-4 CSS绑定/Style绑定
    <template><div><divclass="border-style"><h1:class="class3">-----------------CSS绑定-------------------</h1><div:class="{'c1':clEnable......
  • vue个人学习笔记
    工程简介vue学习笔记1.what:基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。2.why为什么要选择vue呢?vue作为......
  • Vue3组件库打包指南,一次生成esm、esm-bundle、commonjs、umd四种格式
    本文为Varlet组件库源码主题阅读系列第二篇,读完本篇,你可以了解到如何将一个Vue3组件库打包成各种格式上一篇里提到了启动服务前会先进行一下组件库的打包,运行的命令为:v......