当前位置: 首页 > 文档资料 > EmberJS 入门教程 >

Run循环

优质
小牛编辑
135浏览
2023-12-01

这是应用程序的大部分内部代码发生的区域。 这用于批处理,是一种订购或重新排序工作的方法,以检查它是否有效和高效。 它根据特定队列调度工作,以按优先级顺序完成工作。

将运行循环与非Ember API集成会导致一些异步回调。 例如 -

  • setTimeout and setInterval callbacks
  • AJAX回调
  • postMessage和messageChannel事件处理程序
  • Websocket回调
  • DOM更新和事件回调

基于优先级指定的队列,运行循环在Ember中工作 -

Ember.run.queues
=> ["sync", "actions", "routerTransitions", "render", "afterRender", "destroy"]
  • sync - 它是一个包含绑定同步作业的优先级较高的队列。

  • actions - 这是一个包含计划任务的通用工作队列。

  • routerTransitions - 它指定路由器中的转换作业。

  • render - 用于呈现更新DOM的作业。

  • afterRender - 在完成计划任务后运行作业。

  • destroy - 它是一个优先级较低的队列,用于终止计划销毁的作业。

基于队列执行作业

按照以下步骤执行基于队列的作业 -

Step 1 - 在此步骤中,将在CURRENT_QUEUE中检查具有最高优先级队列的挂起作业。 如果没有待处理的作业,则运行循环将完成。

Step 2 - 将新临时队列指定为WORK_QUEUE

Step 3 - 将作业从CURRENT_QUEUE传输到WORK_QUEUE

Step 4 - 在WORK_QUEUE连续处理作业。

Step 5 - 从步骤1开始重复。

测试时运行循环的行为

如果我们尝试在没有运行循环的情况下安排工作,那么当应用程序处于测试模式时,Ember将抛出错误。 考虑以下理由来理解为什么Autoruns被禁用 -

  • 如果在调度回调之前未能打开运行循环,则Autoruns不会在生产中出错。

  • 禁用autoruns可识别应用程序在运行循环外运行时出现的错误测试失败,并有助于测试应用程序。

有关这些运行循环的更多信息以及示例,请参阅此link

最后更新:

类似资料

  • 您好,我对jquery没有什么问题。首先,我有: 大众BORA 1.9TDI 1990 1995 奥迪A3 2.0TFSI 2006 2008 但我想实现: VW BORA 1.9TDI 1990 VW BORA 1.9TDI 1991 VW BORA 1.9TDI 1992 VW BORA 1.9TDI 1993 VW BORA 1.9TDI 1994 VW BORA 1.9TDI 1995 A

  • 问题内容: 我第一次不了解PHP。我一直在脚本中使用for循环,while循环,foreach循环。我想知道 哪一个性能更好? 选择循环的标准是什么? 当我们在另一个循环中循环时应该使用哪个? 我一直想知道要使用哪个循环的代码。 很明显,我可以使用while编写上面的代码。希望有人能帮助我找出哪个循环更适合使用。 问题答案: 哪一个性能更好? 没关系 选择循环的标准是什么? 如果只需要遍历对象或数

  • 通常你想在一个任务中干很多事,比如创建一群用户,安装很多包,或者重复一个轮询步骤直到收到某个特定结果. 本章将对在playbook中如何使用循环做全面的介绍. Topics 循环 为了保持简洁,重复的任务可以用以下简写的方式: - name: add several users user: name={{ item }} state=present groups=wheel with_it

  • 循环其实不足为奇。跟其它程序设计语言一样,bash中的循环也是只要控制条件为真就一直迭代执行的代码块。 Bash中有四种循环:for,while,until和select。 for循环 for与它在C语言中的姊妹非常像。看起来是这样: for arg in elem1 elem2 ... elemN do # 语句 done 在每次循环的过程中,arg依次被赋值为从elem1到elemN。这些

  • 尽管已经支持JavaScript原生代码,Jade还是支持了一些特殊的标签,它们可以让模板更加易于理解,其中之一就是each, 这种形式: each VAL[, KEY] in OBJ 一个遍历数组的例子 : - var items = ["one", "two", "three"] each item in items li= item 渲染为: <li>one</li> <li>two</

  • 可能存在需要多次执行代码块的情况。 通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推。 编程语言提供各种控制结构,允许更复杂的执行路径。 循环语句允许我们多次执行语句或语句组,以下是大多数编程语言中循环语句的一般形式 - Perl编程语言提供以下类型的循环来处理循环要求。 Sr.No. 循环类型和描述 1 while 循环 在给定条件为真时重复语句或语句组。 它在执行