使用Suspense注意点:
(1)解决异步请求的困境。
(2)Suspense是Vue3推出的一个内置的特殊组件,有两个template slot,刚开始会渲染一个fallback内容,直到达到某个条件以后才会渲染正式的内容。
(3)如果使用Suspense,在setup( )中需要返回一个promise,而不是直接返回一个对象。
简单的Demo示例
AsyncShow.vue (子组件)
<template>
<h1>{
{
result}}</h1>
</template>
<script lang="ts">
import {
defineComponent } from "vue";
export default defineComponent({
setup() {
return new Promise((resolve) => {
setTimeout(() => {
return resolve({
result: 42,
});
}, 3000);
});
},
});
</script>
<style lang="less"