当前位置: 首页 > news >正文

谷城网站快速排名查询食品注册商标查询官网

谷城网站快速排名,查询食品注册商标查询官网,中国建设银行招标网站,济南网站开发设计题目要求 请你编写一个异步函数#xff0c;它接收一个正整数参数 millis #xff0c;并休眠 millis 毫秒。要求此函数可以解析任何值。 示例 1#xff1a; 输入#xff1a;millis 100 输出#xff1a;100 解释#xff1a; 在 100ms 后此异步函数执行完时返回一个 Pro…题目要求 请你编写一个异步函数它接收一个正整数参数 millis 并休眠 millis 毫秒。要求此函数可以解析任何值。 示例 1 输入millis 100 输出100 解释 在 100ms 后此异步函数执行完时返回一个 Promise 对象 let t Date.now(); sleep(100).then(() { console.log(Date.now() - t); // 100 }); 示例 2 输入millis 200 输出200 解释在 200ms 后函数执行完时返回一个 Promise 对象 方法 1使用 Promises 和 setTimeout 的异步编程 概述 在 JavaScript 中通常使用承诺来处理异步操作。承诺表示一个值该值可能还不可用但将在将来的某个时候解决(或在出错的情况下拒绝)。要在 JavaScript 中模拟延迟或“休眠”我们可以使用 setTimeout 函数该函数将一个函数调度为在一段时间后运行。 该任务要求我们创建一个休眠指定毫秒的异步函数。要实现这一点我们可以将 promises 与 setTimeout 结合起来。我们将返回在指定延迟后解决的承诺。 算法步骤 定义一个名为 sleep(millis) 的异步函数。此函数在解析之前将暂停执行 millis 毫秒。在该函数内部构造一个新的 promise 对象。这个 promise 对象的 executor 函数是我们将合并延迟的地方。在 executor 函数中使用 setTimeout 方法。setTimeout 是由主机环境(Web 浏览器、Node.js等)提供的方法。它在指定的延迟后执行提供的函数或代码段。将 setTimeout 的延迟设置为 millis 毫秒。延迟后执行的代码将是 promise 的 resolve 方法。当调用 resolve 方法时它会将承诺标记为已实现从而允许执行任何附加的 .then 处理程序。 实现 async function sleep(millis) {return new Promise(resolve {setTimeout(resolve, millis);}); }在此实现中sleep 函数是返回 promise 的异步函数。promise 的 executor 函数使用 setTimeout 在 millis 毫秒后解析 promise。请注意我们实际上并不需要将睡眠功能设置为异步因为我们直接返回一个 promise但将其标记为 async 并不会有什么坏处。 你可以像这样在你的代码中使用 sleep 函数 let t Date.now(); sleep(100).then(() {console.log(Date.now() - t); // 大约 100 });在这种用法中我们记录当前时间调用 sleep 函数然后记录 promise 解析时经过的时间。运行时间应该大致等于 sleep 的输入这表明函数确实已经“休眠”了指定的时间量。 请注意使用 return new Promise() 或 return await new Promise() 都会在异步函数中产生相同的结果如概述部分所述。 此外使用 try {} catch(){} 也是异步编程中的一种常见做法因为它允许您处理可能引发的任何潜在异常。在下面的解决方案中如果在 setTimeout 函数的执行过程中出现错误则 promise 被拒绝并抛出错误 async function sleep(millis) {return new Promise((res,rej) {try {setTimeout(() res(5), millis)} catch(err) {rej(err)}}) }方法 2使用 Promises 和 setTimeout 不带返回的异步编程 这种方法与第一种方法类似但略有不同对于这个问题您不需要显式返回任何内容。这也使以下代码成为有效的解决方案。此版本的 sleep 函数不返回任何内容(或者更准确地说它返回 undefined)因为没有返回语句。但由于问题陈述说“它可以求解任何值”这是完全可以接受的。这也是一个非常有效的俏皮话。 实现 async function sleep(milliseconds) {await new Promise(res setTimeout(res, milliseconds)); }
http://www.hkea.cn/news/14472660/

相关文章:

  • 有没有发布需求的网站近一周热点新闻
  • 中国小康建设官方网站做社区网站用什么程序
  • 做网站需要雇什么人哪家公司做的网站好
  • 网站开发人员叫什么wordpress怎么设置404伪静态
  • 怎么将网站做成公司官网wordpress google 地图插件
  • 电商 网站 降低 跳出率 措施 效果免费网站制造
  • 搭建网站不用服务器吗网页设计图片显示不出来
  • 网站dns解析免费做手机网站
  • 怎么添加网站关键词互联网信息平台
  • 网站模板制作教程郑州建站以来
  • 哪里做公司网站比较好网页设计培训推荐
  • 做网站怎么注册域名腾讯云10g数字盘做网站够么
  • 潮州seo建站saas系统
  • 个人网站用什么建站程序书法网站建站目标
  • 淘客做网站有必要吗济南做网站优化价格
  • 自己做网站跟域名怎样做阿里云域名价格
  • vs2013如何做网站男科医院和正规医院哪家好
  • 都江堰网站建设公司海外购物网站排名
  • 怎样在建设部网站查资质证书猪八戒网站做软件
  • 比较有特色的网站长沙网红打卡点
  • 怎么做自己的免费网站seo教程视频
  • 什么网站教人做3d效果图惠州手工外发加工网
  • 没技术怎么做网站江苏高效网站制作机构
  • 国内永久免费建站上海的所有公司
  • 英语培训网站模板asp 建站
  • 长治市住房保障和城乡建设管理局网站做一款网站
  • 铁道部售票网站多少钱建设公司网站建设模板下载
  • 凌云网站e时代速递搜索引擎网站建设
  • 怎么做网络销售的网站跳转短链接生成
  • 免费网站建设价格wordpress顶部图片大小