export async function getBasicData() {
const data = await hot();
const arr: any = [];
for (let index = 0; index < 6; index++) {
arr.push({
id: `${index}`,
name: '张三',
age: `1${index}`,
dates: data,
address: '中华人名共和国',
beginTime: new Date().toLocaleString(),
endTime: new Date().toLocaleString(),
});
}
return arr;
}
export default defineComponent({
components: { BasicTable },
setup() {
// 这里!!!!!!!!!!!!!!!!!!!!!
let datas;
getBasicData().then(function (res) {
datas = res;
});
getBasicData().then(fun)
return {
data: datas,
};
因为是异步执行,导致调用 getBasicData() 的时候代码会继续运行不会等 getBasicData() 执行完返回值,datas则等于undefined,怎么能让getBasicData() 执行完后在往下执行
export default defineComponent({
setup() {
const isLoading = ref(false);
const error = ref(null);
const data = ref(null);
const getUsers = async () => {
isLoading.value = true;
try {
const json = await axios('foo/bar');
data.value = json;
isLoading.value = false;
} catch (e) {
error.value = e;
}
};
return { isLoading, error, data, getUsers };
}
});
import { ref } from "vue";
export default defineComponent({
components: { BasicTable },
setup() {
// 这里!!!!!!!!!!!!!!!!!!!!!
let datas = ref({});
getBasicData().then(function (res) {
datas.value = res;
});
return {
data: datas,
};