demo

let timeout = (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 - dealy >= now) { // 比较是否已经过了设置的时间
flag = false
}
}
return new Promise((resolve, reject) => {
resolve(num * num)
})
} // 使用async包装返回Promise的方法
async function tryWithAsync(sec, num) {
const res = await timeout(sec, num)
return res
}
tryWithAsync(3, 10).then(value => console.info(value)) // 100 // 直接调用返回Promise的方法
let result = ''
const res = timeout(1, 20)
console.info(res) // Promise { 400 }
// 返回的是一个promise,promise中resolve中的值需要在then中拿到
res.then(x => { // 微任务先执行
console.info(x) // 400
})

最新文章

  1. sql 更新列表中最老的一条数据
  2. 合并文件夹里多个excel
  3. Python基础5:列表 元祖 字典 集合
  4. LayoutInflater(二)
  5. load/get延迟加载和及时加载
  6. JS中函数的基础知识
  7. Java + MongoDB Hello World Example--转载
  8. zoj 2277 The Gate to Freedom
  9. 相同域名不同端口的两个应用,cookie名字、路径都相同的情况下,会覆盖吗
  10. ASP.NET Core Middleware 抽丝剥茧
  11. STL迭代器iterator
  12. 移动端 上传头像 并裁剪功能(h5)
  13. 使用Spring的@Scheduled实现定时任务参数详解
  14. CodeForces - 444C
  15. [路径规划] VFF和VFH
  16. WebShell代码分析溯源(第1题)
  17. Vue---从后台获取数据vue-resource的使用方法
  18. linux驱动之LCD(无framebuffer)
  19. <转>pandas学习
  20. HTML5学习笔记 Geolocation(地理定位)

热门文章

  1. Burp Suite Target Module - 目标模块
  2. Python Ethical Hacking - TROJANS Analysis(1)
  3. WYT的刷子
  4. ref和动态组件
  5. IDEA 2020版破解
  6. 有关 Session 的那些事儿
  7. 一起学Blazor WebAssembly 开发(3)
  8. 前端学习(十五):了解 Javascript
  9. 一文了解JDK12 13 14 GC调优秘籍-附PDF下载
  10. C# 13位时间戳(unix时间戳)