当前位置: 首页 > 面试题库 >

setImmediate与nextTick

宫修贤
2023-03-14
问题内容

Node.js版本0.10已于今天发布并引入setImmediate。该API的变化文档建议做递归时使用它nextTick调用。

从MDN所说的来看,它与process.nextTick

什么nextTick时候应该使用setImmediate?什么时候应该使用?


问题答案:

setImmediate如果要将函数放在事件队列中已经存在的任何I/O事件回调后面,请使用此函数。用于process.nextTick将函数有效地放在事件队列的开头,以便在当前函数完成后立即执行。

因此,在您尝试使用递归分解长时间运行且受CPU限制的作业的情况下,您现在想使用setImmediate而不是process.nextTick将下一个迭代排队,因为否则任何I/ O事件回调都不会在迭代之间运行。



 类似资料:
  • 问题内容: 两者之间有什么区别,什么时候可以使用另一种? 问题答案: setTimeout 就像延迟完成后调用该函数一样。每当调用一个函数时,它不会立即执行,而是排队,以便在所有正在执行的和当前排队的事件处理程序首先完成后再执行。setTimeout(,0)本质上是指在当前队列中的所有当前函数执行之后执行。无法保证需要多长时间。 setImmediate 在这方面很相似,除了它不使用函数队列。它检

  • 问题内容: NodeJS 0.11以及io.js和Node 0.12分支都带有本机Promise。 本机承诺具有始终在未来事件循环周期中执行的方法。 从我从nextTick切换到现在,到目前为止,我一直在将事情排队到事件循环的下一个迭代: 由于我们现在有了一种新的方法来执行此操作: 我应该使用哪个?也- 并像或类似至于事件循环之前或之后运行的代码? 问题答案: 使用没有优势。它在相同的队列上运行,

  • 本文向大家介绍举例说明setImmediate有什么作用?相关面试题,主要包含被问及举例说明setImmediate有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 MDN上的解释: 该特性是非标准的,请尽量不要在生产环境中使用它! 既然是非标准的,就不要出现在面试题里了,面试题要结合实际使用会比较好

  • 本文向大家介绍node.js中的定时器nextTick()和setImmediate()区别分析,包括了node.js中的定时器nextTick()和setImmediate()区别分析的使用技巧和注意事项,需要的朋友参考一下 1.node中使用定时器的问题在于,它并非精确的.譬如setTimeout()设定一个任务在10ms后执行,但是在9ms后,有一个任务占用了5ms,再次轮到定时器时,已经耽

  • 在C语言中,假设每个算法被赋予完全相同的一组进程,那么先到先得、最短作业优先和循环之间的周转时间是否相等?还是调度算法不同?

  • 问题内容: 为了为 HTML5 Doctype 定义字符集,我应该使用哪种表示法? 短: 长: 问题答案: 在HTML5中,它们是等效的。使用较短的一个,更容易记住和键入。浏览器支持很好,因为它是为向后兼容而设计的。