javascript 使用setInterval模拟计算程序读秒

文章讲述了如何在前端使用setTimeout和Promise模拟后台计算过程,点击按钮启动计时,异步计算完成后停止计时。通过HTML实现显示计算状态和计时功能。

使用setInterval模拟计算程序进行计时

效果预览

在这里插入图片描述

data定义

  return {
      calTime: 0, // 单位秒
      btnLoading: false,
  }

使用setTimeout和Promise模拟后台计算程序。

    execCal(){
       return new Promise((resolve) => {
         setTimeout(()=>{
           this.btnLoading = false
           console.log('模拟axios请求执行')
           resolve('计算执行完毕')
         },5400)
       })
    },

点击计算按钮开始计时,异步计算Promise函数返回成功之后结束计时。

    btnClick() {
      // 开始计算按钮Loading
      this.btnLoading = true
      // 清空时间
      this.calTime = 0
      // 开始计时
      let interval = setInterval(()=>{
        this.calTime ++
        console.log('计数器执行')
      },1000)
      this.execCal().then((res) => {
        this.$Message.success(res)
        // 执行成功,结束计时
        clearInterval(interval)
      })
    },

html

 <Row>
        <Col span="4" offset="4">
          <p>计算执行中,计算耗时{{calTime}}秒...</p>
        </Col>
        <Col span="2">
          <Button :loading="btnLoading" @click="btnClick">
            <span v-if="!btnLoading">开始计算</span>
            <span v-else>计算中...({{calTime}}s)</span>
          </Button>
        </Col>
</Row>

努力,奋斗

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小雅痞

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

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

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

打赏作者

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

抵扣说明:

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

余额充值