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

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

时间:2023-02-18 10:02:23浏览次数:42  
标签: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://blog.51cto.com/u_15967457/6065068

相关文章

  • vue-5
    组件其他#根组件和组件的一些问题归总 1.newVew()---->管理div----->根组键2.自己再定义的全局,局部是组件3.组件有自己的HTML,css,js4在组件中,this代指当前......
  • Vue框架:6、Vue组件间通信,动态组件,插槽,计算属性,监听属性
    目录前端开发之Vue框架一、Vue组件间通信1、组件间通讯父传子2、组件间通讯子传父3、ref属性二、动态组件1、不使用动态组件2、使用动态组件3、keep-alive保持组件不销毁三......
  • vue-组件、ref属性、动态组件、计算属性、监听属性
    1.组件其他根组件和组件一些问题-newVew()---->管理div----》根组件-自己再定义的全局,局部是组件 -组件有自己的html,css,js---》数据,事件,。。。。。-......
  • vue5
    今日内容概要组件的补充知识组件间通信之父传子ref属性动态组件插槽计算属性监听属性node环境搭建今日内容详细组件的补充知识newVue()对象后管理的标签叫......
  • Vue组件
     一、组件化开发介绍1.组件是什么?有什么用?组件就是:扩展HTML元素,封装可重用的代码,目的是复用例如:有一个轮播图,可以在很多页面中使用,一个轮播有js,css,html组件把js,cs......
  • Vue急速入门-4
    组件其他根组件和组件的一些问题归总: 1.newVue()el:'xx'管理的Div就算根组件 2.父子组件的数据是无法共享的 3.组件有自己的html,css,js 4.在组件中,this代指当......
  • vue
    今日内容1.组件其它2.组件间通信之父传子3.组件间通信之子传父4.ref属性5.动态组件6.插槽7.计算属性8.监听属性9.node环境搭建1.组件其它根组件和组件一些问......
  • Vue生命周期钩子
     一:生命周期图官网原图我理解的图二、生命周期钩子函数描述beforeCreate创建Vue实例之前调用created创建Vue实例成功后调用(可以在此处发送异步请求后......
  • VUE组件相关知识
    目录VUE组件/组件数据传递组件间数据传递父传子组件间数据传递子传父更方便的父子组件数据-ref(推荐)基础方法实现导航栏动态组件实现导航/和keep_alive方法keep_alive方......
  • vue 购物车案例,v-model进阶,与后端交互,vue生命周期,vue组件
    昨日内容回顾#1v-for可以循环的类型#2js的循环方式-基于索引的循环(i=0;i<10;i++)-in循环出来的是索引-of基于迭代的,循环出来就是值-数组.......