位置: 编程技术 - 正文

JavaScript计划任务后台运行的方法(javascript project)

编辑:rootadmin

推荐整理分享JavaScript计划任务后台运行的方法(javascript project),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js每天的定时任务,js写定时任务,js设置定时任务,javascript_projectsystem,js任务执行机制,javascript project system for,js任务执行机制,js实现一个任务队列,内容如对您有帮助,希望把文章链接给更多的朋友!

即使忘了 JavaScript 的一切知识,也不会忘记:它是阻塞的。

想象一下,你的浏览器里住着一个魔法小精灵,负责浏览器的正常运转。不论渲染 HTML,响应菜单命令,屏幕渲染,处理鼠标点击,或者执行 JavaScript 函数,所有事情都归一个小精灵处理。它哪忙得过来,一次只能处理一件事情。如果同时丢给它一堆任务,它会列一个长长的待办列表,按顺序完成它们。

人们常常希望初始化组件和事件处理的 JavaScript 可以尽快被执行。可是,有些不太重要的后台任务不会直接影响用户体验,比如:

记录统计数据

发送数据到社交网络(或添加‘分享'按钮)

预加载内容

预处理或预渲染 HTML

他们对时序要求不严格,但是为了让页面仍然响应,直到用户滚动页面或者与内容交互时才被执行。

选择之一是 Web Workers ,它可以在独立的线程同时执行代码。用于预加载和预处理再好不过,但是你没有权限直接访问或更新 DOM。你可以在自己的代码中避开这点,但是无法保证第三方脚本比如 Google Analytics 永远不需要这个。

另一个选择是setTimeout,比如setTimeout(doSomething, 1);。一旦其它的立即执行任务执行完毕,浏览器将执行doSomething()函数。实际上,它被放到了待办列表的底部。不幸的是,函数将被调用,而不顾处理需求。

#requestIdleCallback

requestIdleCallback 是新API,当浏览器稍作喘息的时候,用来执行不太重要的后台计划任务。 难免让人想起 requestAnimationFrame ,在下次重绘之前,执行函数更新动画。 想了解更多戳这里: 使用 requestAnimationFrame 做简单的动画 。

requestIdleCallback特性监测:

也可以指定配置参数对象,比如 timeout,

确保函数在3秒之内调用,不管浏览器是否空闲。

deadline对象传入以下参数时,requestIdleCallback仅执行一次回调:

didTimeout—— 如果可选的 timeout 触发,则设置为 truetimeRemaining()—— 函数返回执行任务剩余的毫秒数 timeRemaining()最多分配ms用于任务的执行,超过这个限制,也不会停止任务,但是,最好重新调用requestIdleCallback安排进一步的处理。

我们来创建一个简单的例子,让几个任务按序执行。任务的函数引用储存在数组中:

JavaScript计划任务后台运行的方法(javascript project)

#一次 requestIdleCallback 之间不应该做什么?

Paul Lewis 在 他的文章 中提到,一次 requestIdleCallback 执行的任务应该切成小块。它不适用于不可预知时间的情况(比如操作 DOM,使用 requestAnimationFrame 回调更好些)。resolving(或者 rejecting)Promises 时也要谨慎,即使没有更多的剩余时间,空闲回调完成之后,回调函数也将立即执行。

#requestIdleCallback 浏览器支持情况

requestIdleCallback是试验性特性,规范仍不稳定,碰到 API 变更时不足为奇。Chrome 已支持… 年结束前应该可用了。Opera 应该会紧跟其后。Microsoft 和 Mozilla 都在考虑 API 是否应该支持 Promises 。Apple 像往常一样不鸟。

Paul Lewis(上文提到的)写了一个简单的 requestIdleCallback shim ,它可以模拟浏览器的空闲监测行为,但不是一个 polyfill( shim 和 polyfill 的区别 )。

requestIdleCallback shim代码如下:

ps: 如何运行计划任务

1、运行 GPEDIT.MSC

2、选择计算机配置

--- Windows 设置 --- 安全设置 --- 本地策略 --- 用户权利指派双击右边的 从网络访问此计算机把需要的用户名添加到列表。

3、 --- 安全设置

---安全选择 开启允许服务器操作员计划任务

4、-----本地策略

--- 作为批处理作业登录 把需要的用户名添加到列表。

5、-----本地策略

--- 允许计算机和用户被信任以便于委托把需要的用户名添加到列表。最好是administrator用户。

如果任务计划无法启动,提示代码:0X

解决方法:这有两种可能,一是系统中的“Task Scheduler”服务没有启动,你可在运行中键入“services.msc”,查看“Task Scheduler”服务是否被设置成了“已禁用”,若是,只要双击它将启动类型改为“自动”,重新设定一个计划任务就可以执行了。

如果你当前账户设置了自动登录,而其登录密码又为空,也有可能导致任务计划不能按时执行,在XP专业版中,需要运行“gpedit.msc”来编辑组策略:展开“计算机配置→Windows设置→安全设置→本地计算机策略→安全选项”;双击右侧的“账户:使用空白密码的本地账户只允许进行控制台登录”项,在弹出对话框中选择“已禁用”。

JS弹出对话框实现方法(三种方式) 本文实例讲述了JS弹出对话框实现方法。分享给大家供大家参考,具体如下:1.警告框htmlheadscripttype="text/javascript"functiondisp_alert(){alert("我是警告框!!")}

最简单的JavaScript图片轮播代码(两种方法) 通过改变每个图片的opacity属性:素材图片:代码一:!DOCTYPEhtmlhtmllang="en"headmetacharset="UTF-"title最简单的轮播广告/titlestylebody,div,ul,li{margin:;padding:;}ul{list-st

JavaScript中字符串与Unicode编码互相转换的实现方法 本文实例讲述了JavaScript中字符串与Unicode编码互相转换的实现方法。分享给大家供大家参考,具体如下:这段代码演示了JavaScript中字符串与Unicode编码的

标签: javascript project

本文链接地址:https://www.jiuchutong.com/biancheng/386407.html 转载请保留说明!

上一篇:原生js实现移动端瀑布流式代码示例(原生js实现移动站点头部搜索栏背景色透明度变化)

下一篇:JS弹出对话框实现方法(三种方式)(js弹出对话框的命令)

  • 北京增值税发票查验平台
  • 一般纳税人委托其他单位加工材料收回后直接对外销售的
  • 工商年报中的社保缴费基数怎么填
  • 对公账户的钱都是国有资产吗
  • 长期债权投资是什么科目借贷
  • 税控盘交服务费
  • 汇算清缴退回的所得税
  • 运输发票抵扣税怎么算
  • 报表申报错误怎么作废重报
  • 个人出租商业用房
  • 发票作废了可以重新领吗
  • 成本还原有什么作用
  • 应付账款扣除商业折扣
  • 营改增后房地产企业增值税税收筹划存在问题
  • 小规模纳税人附加税减免政策2023
  • 企业所得税核定征收怎么计算
  • 学校有税号可以收专票吗
  • 用友t3财务报表模块打不开
  • 印花税资金账簿减免税优惠政策2021
  • 企业取得免税收入怎么算
  • 土地增值税含房产吗
  • 1697510217
  • 苹果手机14pro max
  • 加油站的成品油经营许可证过期3个月还能换证吗?
  • php的编辑工具有哪些
  • 其他综合收益包括留存收益吗
  • Win10 20H1/20H2 KB5001391补丁今日发布(内附下载)
  • 转账支票出账日期
  • pax是什么文件
  • 无偿划转股权
  • 亚士顿森林薄雾日出,英国东萨塞克斯郡 (© Tim Stocker Photography/Getty Images)
  • 大学生web网页实训心得体会
  • 制造费用期末有余额怎么处理
  • php处理接收的xml
  • npm install或npm i后没有依赖包node_modules?
  • PyTorch 深度学习实战 | 基于生成式对抗网络生成动漫人物
  • firewall enable
  • phpcms v9 getshell
  • 融资租赁业务的程序主要有
  • 租赁业务
  • 以前年度损益调整是什么意思
  • mysql有几种
  • 银行结算方式有哪几种?其具体内容是什么
  • 网络贷款需要缴费吗
  • 综合所得汇算清缴是什么意思
  • 已申报的财务报表可以修改吗
  • Access数据库文件以什么作为文件后缀名
  • mysql存储过程查看权限
  • 运费险保费计入什么费用
  • 销售旧固定资产开票编码
  • 如何做应收账款分析
  • 广告费和业务宣传费
  • 车辆使用费怎么算
  • 现金支付货款怎么做账
  • 分公司第二季度总结报告
  • 企业收到的应收票据应按什么作为入账金额
  • ubuntu禁用服务命令
  • 如何关闭win10自带杀毒软件
  • 电脑怎么换系统教程
  • linux的awk命令大全
  • win8隐藏任务栏怎么恢复
  • win8中的wps点打印预览就卡
  • win10 20h2怎么装
  • win7如何获取管理员密码
  • win8.0升级win8.1
  • win10开机蓝屏提示修复
  • win7系统开机登录不了怎么修复
  • cocos2dx视频教程
  • css怎么画
  • cocos2dx3.2 android平台APK打包
  • jquery实现图片懒加载
  • java中初始化顺序
  • linux那么多命令怎么记
  • shell echo-e
  • jquery树形菜单
  • 前端头像裁剪
  • python代码检测在线
  • jquery的实现原理
  • 天津2020年契税征收标准
  • 广东广州税务局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设