vue 显示 睡眠功能

不需要这个加载组件,你们把这些全部去掉console.log()打印就可以了。

<style>
    /*加载*/
    .loader {
        position: absolute;
        left: 45%;
        top: 40%;
        z-index: 12;
    }
</style>
<template>
    <div>
        <!--加载-->
        <mu-circular-progress :size="40" color="#1da7eb" v-show="isLoader" class="loader"/>
    </div>
</template>

<script>
    export default {
        data() {
            return {
                // 加载
                isLoader: true
            }
        },
        created() {
            this.test()
        },
        methods: {
            sleep(d) {
                return new Promise((resolve) => setTimeout(resolve, d))
            },
            async test() {
                this.$toast.show('正在自动登录')
                // console.log('1111')
                await this.sleep(1800)
                this.$toast.show('登录成功')
                // console.log('2222')
                await this.sleep(1800)
                this.isLoader = false
            }
        }
    }
</script>

### 实现 Vue.js 中的睡眠函数 在 Vue.js 中实现延迟或等待功能可以通过 JavaScript 的 `Promise` 和 `setTimeout()` 函数来完成。这种方法简单高效,能够满足大多数场景下的需求。 以下是基于提供的引用内容以及专业知识构建的一个完整的解决方案: #### 使用 `sleep` 函数 可以创建一个通用的异步 `sleep` 函数用于暂停执行一段时间。此函数利用了 `Promise` 和 `setTimeout()` 来模拟延迟效果[^1]。 ```javascript const sleep = (ms) => { return new Promise((resolve) => setTimeout(resolve, ms)); }; ``` 通过上述代码片段定义了一个名为 `sleep` 的函数,它接受一个参数 `ms` 表示毫秒数,并返回一个新的 `Promise` 对象,在指定的时间后调用 `resolve` 方法结束该 `Promise`。 #### 将其集成到 Vue 组件中 为了使这个功能可以在 Vue.js 应用程序内部工作,可以直接将其嵌入组件的方法或者生命周期钩子当中。下面是一个简单的例子展示如何在一个按钮点击事件触发之后延时显示消息[^2]: ```vue <template> <div> <button @click="handleClick">点击我</button> <p v-if="showMessage">{{ message }}</p> </div> </template> <script> export default { data() { return { showMessage: false, message: "你好,世界!" }; }, methods: { async handleClick() { this.showMessage = false; await sleep(2000); // 延迟两秒钟 this.showMessage = true; } } }; // 定义全局可用的 sleep 函数 function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } </script> ``` 在这个模板里,当用户按下按钮的时候会隐藏当前的消息并启动一个持续时间为 2 秒钟的计时器;一旦计时完毕,则重新显示出预先设定好的文字信息。 #### 结合其他高级特性 如果需要更复杂的逻辑处理比如判断传入的对象是否属于复杂数据类型等情况也可以引入额外的帮助工具如自定义的新建实例方法等[^3]。不过对于基本的需求来说上面提到的方式已经足够强大且易于维护。 另外还可以扩展过滤等功能以便更好地控制哪些项目应该被保留下来作为最终的结果集的一部分[^4]。但这部分主要适用于数组操作而非单纯的定时任务管理所以在此不做过多展开讨论。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

An_s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值