-
-
Notifications
You must be signed in to change notification settings - Fork 194
Open
Description
<script setup lang='ts'>
import { A } from "@vitest/mocker/dist/registry.d-D765pazg.js";
import { ref } from "vue"
const count = ref(0)
/**
* Implement the until function
*/
function until(initial) {
function toBe(value) {
return new Promise((resolve) => {
const check = () => {
if (initial.value === value) {
resolve(value)
return true
} else {
return false
}
}
// 轮询方式实现
if( check() ) return
const interval = setInterval(() => {
if(check()) {
clearInterval(interval)
}
},100)
})
}
return {
toBe,
}
}
async function increase() {
count.value = 0
const Interval = setInterval(() => {
count.value++
}, 1000)
await until(count).toBe(3)
clearInterval(Interval)
console.log(count.value === 3) // Make sure the output is true
}
</script>
<template>
<p @click="increase">
Increase
</p>
</template>