Appearance
JavaScript异步函数返回值
在编写异步函数的过程中,无论函数执行成功或者是失败,都应该有返回值,否则会造成函数调用方一直等待。
javascript
<template>
</template>
<script>
import fetch from '@/config/fetch';
export default {
methods: {
/**
* 初始化
* 1、获取数据
*/
async init() {
try {
this.$loading();
let data = await this.getData();
// 依赖getData方法获取数据,则调用getData方法时,需要增加await
console.log(data);
} catch (err) {
console.error(err);
this.$message({
type: 'error',
message: err.msg,
});
} finally {
this.$loadingClose();
}
},
/**
* 获取数据
*/
getData() {
return new Promise((resolve, reject) => {
fetch.get('xxxxxxxxx').then(({ data }) => {
// TODO:接口调用成功时,需要返回数据,执行成功时的回调
return resolve(data);
}).catch((err) => {
// TODO:接口调用失败时,需要抛出错误,执行失败时的回调
return reject(err);
});
});
},
}
};
</script>