JavaScript 手写setTimeout
2021-04-11 02:25
标签:eal lang reject let out 时间 运行时 false code JavaScript 手写setTimeout 标签:eal lang reject let out 时间 运行时 false code 原文地址:https://www.cnblogs.com/leslie1943/p/13363934.htmllet setTimeout = (sec, num) => {
// 初始当前时间
const now = new Date().getTime()
let flag = true
let count = 0
while (flag) {
count++
// 再次运行时获取当前时间
const after = new Date().getTime()
// 需要等待的时间
const dealy = sec * 1000
// 当前运行时间 - 初始当前时间 >= 等待时间 ===>> 跳出
if (after - now >= dealy) {
flag = false
} else {
console.info(‘count‘, count)
}
}
return new Promise((resolve, reject) => {
resolve(num * num)
})
}
let result = ‘‘
const res = setTimeout(3, 10)
console.info(res) // Promise { 100 }
// 返回的是一个promise,promise中resolve中的值需要在then中拿到
res.then(x => {
result = x
console.info(result) // 100
})
上一篇:APIO 2018游记
下一篇:SpringBoot发送邮件