用Promise实现util函数

发布时间:2024年01月10日

有些时候,我们需要依赖于异步的返回结果做一些后续处理,until函数在这种场景下非常有用,你能实现它吗 ? 让我们来试试吧 👇:

<script setup lang='ts'>
import { ref,watch } from "vue"

const count = ref(0)

/**
 * Implement the until function
*/

function until(initial) {
  function toBe(value) {
    return new Promise((resolve,reject)=>{
      const stop = watch(initial,(val)=>{
        if(val === value){ 
          resolve()
          stop()
        }
      })
    })
  }

  return {
    toBe,
  }
}

async function increase() {
  count.value = 0
  setInterval(() => {
    count.value++
    console.log(count.value) 
  }, 1000)
  await until(count).toBe(3)
  console.log(count.value === 3) // Make sure the output is true
}

</script>

<template>
  <p @click="increase">
    Increase22
  </p>
</template>

文章来源:https://blog.csdn.net/content6/article/details/135511860
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。